PDA

View Full Version : OpenGL 1.2 gl.h



mfugl
11-26-2000, 12:05 PM
Is there an official gl.h file which I should use with ms visual c++, if I want to program for OpenGL 1.2, rather than 1.1 under windows?

Is there a windows opgrade to 1.2 available?

Don't Disturb
11-26-2000, 12:55 PM
AFAIK gl1.2 for windows still doesn't exist.
Most of what 1.2 does can be done with extensions though, so it's not very important.

mcraighead
11-26-2000, 01:07 PM
It does exist. You just have to check glGetString(GL_VERSION) to make sure the driver is a 1.2 driver and query for the appropriate entry points with wglGetProcAddress, as though they were extension entry points.

- Matt

mfugl
11-26-2000, 02:59 PM
Ok, thanks! But where can I get the GL/gl.h file for OpenGL 1.2?

How well are OpenGL 1.2 supported in hardware drivers and on different platforms? Windows still does not have it (I can't find anything about it on their site), nvidia supports it, 3dfx does not...

So, should I program for version 1.2, or stay with the old one? I believe almost all demos/programs out there are written for OpenGL 1.1.

Eric
11-27-2000, 12:14 AM
First, sorry, I could not find a link for OpenGL 1.2 headers...

Then, this needs to be checked but doesn't MESA comply with OpenGL 1.2 ?

What you could do is distribute MESA with your application. Then at the application startup, try to find an accelerated pixel format. If there is one, check if it is an 1.2 implementation. If you can not find an accelerated pixel format or if none of them is 1.2, then load MESA dynamically. If you find an accelerated 1.2 implementation, load OpenGL32.dll dynamically.

I know it is a lot of things to do, but when it's done once, it's done for all your programs...

The problem will be that, still, 1.2 functions will be seen as extensions for accelerated pixel formats (Add EXT or ARB everywhere !). If MESA is really 1.2 compliant, it might not have the ARB or EXT things...

Regards.

Eric

P.S. : just checked, MESA is 1.2 compliant so you might be able to use its headers...