After some going through the first log I realised that the required stuff must be missing from it, so I tried to get a trace with more logging. Unfortunately, running with +relay slows things down so much that the server disconnects before I can get into the game, so it doesn't get to the crash. Is there some log level that will print out the GL extension bits without all the other relay logging?
Then do a full +opengl trace (i.e. one from the start of the program) and it should be enough to start to look at what happens.
I'd be happy to have a go at this. I could do with pointing to some docs on the functions though (is this the entirity of PBuffers?: http://oss.sgi.com/projects/ogl-sample/registry/SGIX/pbuffer.txt). What sort of work is involved in actually implementing these functions?
Well, if you want just to test if the application works better, just add (stubbed) support for the following extensions:
http://oss.sgi.com/projects/ogl-sample/registry/ARB/wgl_pixel_format.txt http://oss.sgi.com/projects/ogl-sample/registry/ARB/wgl_pbuffer.txt http://oss.sgi.com/projects/ogl-sample/registry/ARB/wgl_render_texture.txt
This entails:
= adding the string for the extension in the WGL extension string (no idea if it needs to be duplicated also in the 'standard' extension string). = adding all functions that are described in the three preceding extensions (having them returning correct values) and printing debug output = run the game again and see if it actually uses now these functions and if it works better (ie better in 'not crashing', not better as in 'working' :-) ).
I guess it's not just a case of passing through like the bulk of the opengl functions or they'd be done already.
For PBuffers, the WGL and SGIX interface is a bit different so an adaptation is required. For 'render to texture', one needs to use 'GL_EXT_framebuffer_object' (or PBuffers) to emulate the extension.
So this is not the 'simple' thunking that most of the rest of the OpenGL implementation is...
Lionel