Extensions and portability


I was wondering if there was a page on the net that gives extensions supported by each common OGL card. My aim is to predict on which card my code will run or will not. The ideal would be a little proggie that scan source code for used extension, and tells which graphic cards are supported, and which are not… but I guess I’m dreaming :wink: .



Thanks for the link !

now I just have to write the little soft I was talking about in my previous post :wink:


…you are probably in for trouble.

  1. Extension support can vary for different driver versions
  2. A source code can be divided into different sections (code paths) depending on which extensions are supported, meaning that your analysis program could come to the conclusion that NO card is supported (e.g. if you use GL_NV_ extensions in one place and GL_ATI_ extensions in another place).

You should really do it the other way around: Find a combination of extensions that is supported by cards A, B and C, and then another combination of extensions to make your code work on cards D and E, and finally a fallback (e.g. OpenGL 1.1) for all other cards (or simply bail out with an error message).

This may sound tricky, but you can usually find quite good coverage with some extensions. A good start is to require OpenGL 1.3 (multitexture, tex_env_combine, dot3, cube maps, compressed textures, separate specular color, normal rescaling, 3D textures etc), which most non-ancient cards support.

[This message has been edited by marcus256 (edited 05-06-2003).]