Es que me muestra un cuadro gris pero no carga la textura .... no entiendo porque
Estoy algo desesperado y puede que este pasando algo por alto, si alguien ve algo malo digame T_T
PD: empeze a hacerlo hace unas horas y no he estudiado mucho con respecto al manejo de BMP's, tal ves ese sea mi problema
Código
bool SPRITE::LoadBMP(const char * path, GLuint * texture) { std::ifstream img(path, std::ios::binary); if( !img ) return(False); BITMAPFILEHEADER imgHeader; BITMAPINFOHEADER imgInfo; img.read( (char*)&imgHeader,sizeof(BITMAPFILEHEADER) ); img.read( (char*)&imgInfo, sizeof( BITMAPINFOHEADER ) ); if (imgHeader.bfType != 0x4D42) return(False); int size = ( imgInfo.biSizeImage ); BYTE * pix =new BYTE[size]; img.read( (char*)pix, size ); img.close(); BYTE * data = new BYTE[size]; for (int i = 0; i < size; i += 3) { data[i+0] = pix[i+2]; data[i+1] = pix[i+1]; data[i+2] = pix[i+0];; } unsigned int w = imgInfo.biWidth; unsigned int h = imgInfo.biHeight; glGenTextures(1, texture); glBindTexture(GL_TEXTURE_2D, *texture); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGB, GL_UNSIGNED_BYTE, data); glBindTexture(GL_TEXTURE_2D, NULL); return(True); }