OPengl 1.2 or 1.3 headers

I have Mesa3d 4.0 but its incredibly slow compared to my ‘standard’ open gl set up. (e.g. 78 fps with mesa’s .dlls and .libs, 1005 fps with opengl!!!) Anyway, Mesa has ogl 1.3 spec, but where can I get 1.2/1.3 header files (gl.h etc) as the ones I’ve got are the ones that came with VC++6 and Borland free compiler, and as far as I can tell they are ogl 1.1. (I need 1.2 for my university opengl project.)

There are no OpenGL libraries for OpenGL 1.2 and above for Windows.

If you have to use OpenGL 1.2+ specific functions, load them yourself with wglGetProcAddress.

Mesa is 100% software !

You can use the gl.h and glu.h that came with MESA. I added some of the #defines that were missing and the problem was solved.

Don’t worry about editing those files, but go ahead and make backups!


ok, thanks. I did get the 1.2 headers (glext.h) from Nvida’s site but its the same file as in the mesa include\gl folder.

I didn’t realise mesa was software, how crap is that! We have to use it for our graphics projects in the compsci department, not suprised people last year complained they all ran so slow.

At the moment I’m using the mesa header files but I modified the makefiles to create a ‘mesaglut32.dll’ instead of a ‘glut32.dll’ so I can keep my current glut dll and lib files. Now I can compile in ‘standard’ open gl and with mesa (just giving the mesagl.lib instead of opengl32.lib to the compiler)

Also, I take it mesa can do everything opengl can do, but that mesa also adds a few extra things. i.e. opengl is like a subset of mesa. Is this right? (cos we are only using mesa as an implementation of opengl as its a linux system at uni. We’re only coding in opengl and not using mesa-specific stuff so if mesa includes all opengl calls then I can just compile with opengl not mesa on my machine)

No, Mesa is an implementation of the OpenGL spec. It’s not “officially” called OpenGL because you need to pay some license money to SGI to be allowed to use the name. It’s not a superset of OpenGL in any real sense; there are a couple of small Mesa-specific extensions, but far less than with any other major implementation.

I’m very intrigued though - do you have working .dll and .lib binaries for Mesa 4? Are they publicly available? I’ve not been able to build Mesa successfully under mingw, and there are times when a spec-conforming open-source software implementation is a very nice thing to have. (Mainly when investigating suspected hardware or driver bugs.)

I had to fiddle a bit to get it to compile. The main thing was that in demos/readtex.c the
#include “readtex.h”
line was incorrect, as readtex.h is in …/utils/, so I changed it to
#include “…/utils/readtex.h”

Because I alerady have glut for ‘standard’ opengl (ie the opengl32.lib and the headers from M$) I also modified the makefiles to change the name to mesaglut32.dll an mesaglut32.lib. This was purely so I could keep my existing dll/lib files.

My .libs and .dlls are for win32 (compiled on win98se with MSV C++6, to be precise. I only have that cos the uni’s got it on site licsence). If they’ll work on your setup your welcome to them… They also work with borland’s free compiler (although you have to change them from ‘coff’ format to ‘omf’ with the supplied tool)

Rob M