I decided I really needed to get the OpenGL-ctypes GLUT support finished, so I just sat down and pounded on it for a few hours. The fonts were getting messed up because I was missing the import of a & indirection (resolution, whatever) operator in the definition. Basically there's a void * in the .so, but we want a pointer to that pointer, not the pointer itself.
Also made a few small fixes to the callback machinery to work around bugs that showed up during testing. There's still lots of functions I don't have test-cases for, but the big ones (i.e. the ones I use in OpenGLContext) seem to be working properly.
I'm considering now whether to move to the extension handling, or whether to work on supporting the GLUT-extension packages (FreeGLUT, OpenGLUT).


Mike,
I've been following your progress on OpenGL-ctypes with interest. I'm peripherally involved with VPython, specifically with getting VPython running on OS X under Aqua. Does your ctypes code work on OS X currently? And how much of a speedup are you seeing? The main reason that VPython doesn't use PyOpenGL, but instead creates its own OpenGL extension is due to the lack of performance in PyOpenGL. I keep hoping that Murphy's Law, maybe combined with a speedup in the PyOpenGL base, will resolve that so we can move VPython to something easier to maintain and tinker with.
Thanks for the updates.
At the moment, OpenGL-ctypes is probably slightly slower than PyOpenGL, but not dramatically slower. I can quite comfortably run the demos even on my limping (no hardware accelleration) machine with every operation printing out loads of debug information to terminal.
The idea is that we'll get the whole thing implemented in Python to make programming, maintenance and porting easier, then, (and only then), we'll profile and see what needs C-level optimisation (or just better coding in Python).
I've not tried running under OS-X or Windows yet. I don't have an OS-X box on which to run, and I don't feel like spending precious hacking time getting the Toolkit toolchain installed again to build CVS ctypes on Windows.