Archived

This topic is now archived and is closed to further replies.

Blueshift

Relying on OGL extensions ?

Recommended Posts

Hi everybody, I need some advice on this one. We are currently developing a commercial game using OpenGL as 3D API. Since the 3D engine is pretty next-level, we are using tons of extensions to support new hardware features. If some weird extension is not available on a certain board, the system chooses an appropriate fallback. This works fine, with the exception of a few extensions, where a fallback would mean a major rewrite of the 3D system. Now, I feel quite uncomfortable about relying on the presence of extensions for the game to work, especially since it is commercial. Since our game targets rather highend 3D boards (GeForce, Radeon...), I think it is pretty safe to rely on the presence of vertex arrays (esp. if the driver supports OGL 1.2). But what about relying on the availability of multitexturing ? Anyone aware of modern consumer-level 3D hardware, that doesn''t support multitexturing ? It would be quite time consuming to write a fallback for a single TMU board. What about GL_EXT_texture_env_combine ? This one is nice, if it isn''t available, the engine falls back to GL_EXT_texture_env_add or GL_ARB_texture_env_add. If those aren''t available either, then we have a problem... Hmm, the idea of OpenGL extensions is nice, but on the other hand, if you always have to consider all possible types of boards having different extension sets, you''ll end up writing several versions of your 3d engine ! That''s not so nice. Thanks ! A.H aka Blueshift

Share this post


Link to post
Share on other sites
Hmmm, you could always implement some multitexturing code yourself, which is what I plan to do.

------------------------------
Trent (ShiningKnight)
E-mail me
ShiningKnight Games (I had to make one up, to fit in with the rest of you )
Project: Writing tutorials and code for my OpenGL Game Programming series
OpenGL Game Programming Tutorials

Share this post


Link to post
Share on other sites
I believe that the Matrox G200 does not have multitexturing, and that the TNT and Voodoo 3000 both has.
So i think you should not worrie about the multitexturing extensions. Since all newer cards do have it.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
The OpenGL FAQ has some links to lists of available extensions and some other information: http://www.frii.com/~martz/oglfaq/extensions.htm

The normal vertex arrays is in the core since OpenGL 1.1 and also the others you listed should not be a problem on GeForce/Radeon class hardware.

Extensions can be critized but in this case does it works since you get standard functions for all hardware. New features can have a problem in the beginning since no standard way of use has been established.

Share this post


Link to post
Share on other sites