Can I use all texture formats in OpenGL
such a GL_COLOR_INDEX GL_RGBA GL_RED … GL_BGRA_EXT on all video cards (Riva Ati, …) ?
In Direct3D I must to find which format(s) is/are accepted by driver.

MM from Poland.

i think so, though beware the driver only has to give u a format ‘resemblining’ what u asked for
eg u might ask fo5r GL_LUMINANCE16 but get GL_LUMINANCE8 instead.
u can query afterward (or before with proxy textures) what format u got/will get. so if its important, check

You can if the version of GL supports it, but probably all cards out there convert most of those formats to BGRA8888

Color index mode might get different treament (im not sure) and perhaps luminance too.

This is important to know if performance for upload/downloading textures is important to you.


So, OGL does not include queries for the performance characteristics of an implementation. May be application must be written to recognize platform and modify its OpenGL usage based on known performance characteristics of this platform.
I think the only way is glGetString and API of system to recognize texture formats or use only RGB format because is most popular.