What am i doing wrong or what could be interfering with this code?
The result of this code is that i see absolutely nothing textured.
on startup :
CUBE_MAPPING_EXTENSION_ENABLE = 1;
char *ext = (char*)glGetString(GL_EXTENSIONS);
if( strstr(ext, "EXT_texture_cube_map") == NULL ){
CUBE_MAPPING_EXTENSION_ENABLE = 0;
return;
}
glDisable(GL_TEXTURE_GEN_S);
glDisable(GL_TEXTURE_GEN_T);
glDisable(GL_TEXTURE_GEN_R);
When drawing:
if (!CUBE_MAPPING_EXTENSION_ENABLE) return;
glDisable( GL_TEXTURE_2D );
glEnable( GL_TEXTURE_CUBE_MAP_EXT );
if (!cubemap->ID){
glGenTextures(1, &cubemap->ID);
//ERRORLOG->Add("creating cubemap");
glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, cubemap->ID);
// create the cubemap.
if (cubemap->RIGHT)
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT, 0, GL_RGBA, cubemap->RIGHT->WIDTH, cubemap->RIGHT->HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, cubemap->RIGHT->TEXTURE );
if (cubemap->LEFT)
glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT, 0, GL_RGBA, cubemap->LEFT->WIDTH, cubemap->LEFT->HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, cubemap->LEFT->TEXTURE );
if (cubemap->FRONT)
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT, 0, GL_RGBA, cubemap->FRONT->WIDTH, cubemap->FRONT->HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, cubemap->FRONT->TEXTURE );
if (cubemap->BACK)
glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT, 0, GL_RGBA, cubemap->BACK->WIDTH, cubemap->BACK->HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, cubemap->BACK->TEXTURE );
if (cubemap->TOP)
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT, 0, GL_RGBA, cubemap->TOP->WIDTH, cubemap->TOP->HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, cubemap->TOP->TEXTURE );
if (cubemap->BOTTOM)
glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT, 0, GL_RGBA, cubemap->BOTTOM->WIDTH, cubemap->BOTTOM->HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, cubemap->BOTTOM->TEXTURE );
} else {
//ERRORLOG->Add("binding cubemap");
glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, cubemap->ID);
}