OpenGL Extensions

Im still new to OpenGL and as such I’ve only been using the basic OpenGL 1.1 headers.

I’ve been reading a little about extensions for a few days now and I am having problems understanding them.

Am I right in thinking that OpenGL is implemented by graphics card vendors and as programmers we need to call there ‘extensions’ of OpenGL (that are not in the original headers) indvidually?

Is glext.h used to help call these extensions.

If I am wrong could someone please explain all this to me in as simpler way as possible, I’ve asked a few times else where but it’s never really been plain english for me

Thanks for the help
Ad

extensions are features added to opengl that are not contained within the headers/libraries supplied by your compiler. Depending on you os this varies, in Linux significantly more features are available through the core libraries than on windows since microsoft has neglected to update the library. The headers for the functions are contained within the glext.h file, but they are only pointers, you need to use wglGetProcAddress(…) to get access to the driver implementation. For more information on this see
nehe.gamedev.net or http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/ntopnglr_6yer.asp

So basically glext.h is a way of me accessing the graphics card driver which has a certain implementation of OpenGL on it.

If I had an OpenGL 1.4 driver on my graphics card I will be able to access using glext.h and the wiggle function wglGetProcAddress (or whatever) the extensions that make OpenGL 1.4 what it is compared to 1.3, 1.2 and 1.1? Right?

Thanks for the help
Ad

Yes, although strictly speaking they aren’t all extensions. You should get gl.h and glext.h and the definitions should appear in gl.h for the new core stuff. You’ll need to wglgetprocaddress for anything after 1.3 even if it’s in the core and all extensions as always.

Make sure you get the latest gl headers from here: http://oss.sgi.com/projects/ogl-sample/sdk.html

[This message has been edited by dorbie (edited 02-02-2004).]

Thanks for that!

Does anyone know if OpenGL 2.0 will make any change to way this whole extension thing works, will it become more like DirectX with 1 implementation or do we not know??

Thanks Again
Ad

Does anyone know if OpenGL 2.0 will make any change to way this whole extension thing works, will it become more like DirectX with 1 implementation or do we not know??

Well, GLSL is an ARB extension, and so will be the super-buffers soon, so there is no need for GL2. And everything talking about GL2 is at least one year old.

There have been discussion about that in the “Suggestions for the next release of OpenGL”, in a thread about ARB recent meetings.

There’s no need to load extensions manually any more. There are a number of free libraries which do everything for you. Take a look at GLee for example.

Is there some headers to use glAux and other extentisions from Delphi? And also, why I need any DLLs if i have OGL 1.5 driver installed on my machine?