#include #include #include #include "BmpFile.h" #include #include "IJGWin32/CPPJPEGWrapper.h" #include "TgaFile.h" using namespace std; // standard cubemap face names /* const char *faceName[6] = { "negz", "negz", "posy", "negy", "negz", "negz", }; */ const char *faceName0[6] = { "posx", "negx", "posy", "negy", "posz", "negz", }; const char *faceName1[6] = { "ft", "bk", "up", "dn", "rt", "lf", }; void loadImg(GLenum target, const char *filename, char mode = 0, float sr = 0.0f, float sg = 0.0f, float sb = 0.0f, float startGrad = -1.0f, float endGrad = -1.0f, char dir = 1) { int len = strlen(filename); unsigned char* ptr = 0, *ptrBegin; int w, h; BmpLoaderBuffer loader; CPPJPEGWrapper jpg; TGAFILE tgafile; tga_image* image = new tga_image(); if (strcmp(&filename[len-4], ".jpg") == 0) { // jpg if (!jpg.LoadJPEG(filename, false)) { printf("Error load jpg %s\n", filename); return; } h = jpg.GetHeight(); w = jpg.GetWidth(); ptrBegin = ptr = jpg.GetData(); } else if (strcmp(&filename[len-4], ".bmp") == 0) { // bmp if (!loader.loadFile(filename)) { fprintf(stderr, "Error loading bmp '%s'\n"); return; } ptrBegin = ptr = loader.mRGB; h = loader.mHeight; w = loader.mWidth; } else { //tga FILE *file = fopen(filename, "rb"); if (file == NULL) { fprintf(stderr, "Error loading tga '%s'\n"); return; } bool ok = (TGA_NOERR == tga_read_from_FILE(image, file)); //// flip it to make it look correct in the SampleFramework's renderer //tga_flip_vert(image); if (!ok) { fprintf(stderr, "Error loading tga '%s'\n"); return; } /*if (!LoadTGAFile(filename, &tgafile)) { fprintf(stderr, "Error loading tga '%s'\n"); return; }*/ ptrBegin = ptr = image->image_data; h = image->height; w = image->width; fclose(file); } /*{GLenum er = glGetError(); if (er != GL_NO_ERROR) { cout<<"Var name: "<