Carregando um arquivo tga / bmp em C ++ / OpenGL
Estou tentando carregar um arquivo tga / bmp. Isso funciona bem, mas o resultado final é assim:
A imagem que estou tentando carregar parece com isso:
Alguns dos códigos que estou usando:
GLuint texture;
const char* filename = "/Users/Admin/Documents/Visual Studio 2013/Projects/OpenGL/OpenGL/image.tga";
unsigned char* data;
data = (unsigned char *) malloc(128 * 128 * 3);
FILE* f;
fopen_s(&f, filename, "rb");
fread(data, 128 * 128 * 3, 1, f);
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 128, 128, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
Alguém tem uma ideia do que estou fazendo errado?