white textures on Vista, on XP everything fine


I’m new here and I’ve searched the answers for a long time without any luck.

The problem is very simple, same code works fine on XP, but displays some white textures and some ok textures on Vista.

here’s the code:

glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, temp->pixels);

the textures that are display fine on Vista are 8 bit transparent and the textures that don’t display correctly are 24bit transparent and 32bit without alpha. But the strange thing is that all the textures are displayed properly under XP. I’m not sure if this has anything to do with OpenGL.

White textures means your card/drivers don’t support your textures.

I think there is some auto-conversion on xp that is not in Vista, but that is if it is not a card/driver/texture problem.

So first update your drivers/system, then check your textures, then research your hardware.

A lot of new hardware only supports 32b images.