b23636c9 |
#ifndef __TGA_LOADER__
#define __TGA_LOADER__
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __APPLE__
#define GL_SILENCE_DEPRECATION
#include <OpenGL/gl3.h>
#else
#if defined(_WIN32)
#include "glew.h"
#endif
#include <GL/gl.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifndef __cplusplus
#ifndef true
#define true 1
#endif
#ifndef false
#define false 0
#endif
#ifndef bool
#define bool char
#endif
#endif
typedef struct TextureData // Create A Structure for .tga loading.
{
GLubyte *imageData; // Image Data (Up To 32 Bits)
GLuint bpp; // Image Color Depth In Bits Per Pixel.
GLuint width; // Image Width
GLuint height; // Image Height
GLuint w; // Image Width "raw"
GLuint h; // Image Height "raw"
GLuint texID; // Texture ID Used To Select A Texture
GLfloat texWidth, texHeight;
} TextureData, *TextureDataPtr; // Structure Name
bool LoadTGATexture(const char *filename, TextureData *texture);
void LoadTGATextureSimple(const char *filename, GLuint *tex);
void LoadTGASetMipmapping(bool active);
bool LoadTGATextureData(const char *filename, TextureData *texture);
// Constants for SaveTGA
#define TGA_ERROR_FILE_OPEN -5
#define TGA_ERROR_READING_FILE -4
#define TGA_ERROR_INDEXED_COLOR -3
#define TGA_ERROR_MEMORY -2
#define TGA_ERROR_COMPRESSED_FILE -1
#define TGA_OK 0
// Save functions
int SaveDataToTGA(char *filename,
short int width,
short int height,
unsigned char pixelDepth,
unsigned char *imageData);
void SaveTGA(TextureData *tex, char *filename);
void SaveFramebufferToTGA(char *filename, GLint x, GLint y, GLint w, GLint h);
#ifdef __cplusplus
}
#endif
#endif
|