Category archives: Snaking

Discussions of programming, particularly of programming Python

RSS feed of Snaking

Modernizing the Version Control System for PyOpenGL

I've finally begun the process of switching to a modern VCS for PyOpenGL.  I've requested imports of PyOpenGL, PyVRML97 and OpenGLContext into LaunchPad.  Hopefully that will be a reasonably fast process.  The final straw was checking out the code on Win32 and realizing just how many pointless directories are created (there were a few import ...

Continue reading

Eliminating pkg_resources

Just checked in changes to PyOpenGL to strip out the use of pkg_resources.  That should avoid the problems we've been seeing where packaging utilities and the like can't handle the entry-point registrations.  Still need to work out something to avoid speculatively loading e.g. numpy.

Want that tool, but cores are useless without debug symbols

Tried to get the gdb-with-python recipe (that we discussed at PyGTA) to investigate the crashes from the rewrite.  I gather it requires that you have debugging symbols built for Python and all of the modules for it (well, to be able to trace into them, anyway).  I'm on an Ubuntu box here, not really sure ...

Continue reading

Sigh, too far, too fast

Have had to shelve the changes for PyOpenGL to use the pyglet generator for the core code.  Wound up getting extremely hard-to-debug errors which appeared to be due to corruption of object's GC structures (possibly due to GIL-holding issues) when I switched to a Linux 32-bit platform (instead of 64-bit).

I don't want to hold ...

Continue reading

Mind your Ps, Qs and CCallbacks

Been debugging a weird error in GLUT this evening.  Basically if you went into OpenGLContext and used a right-mouse-click-and-drag to rotate around the center-of-view, there would, every once in a while, be a seg-fault.  It didn't happen if you rotated a bit more slowly, or you turned on full logging to see what's going on, ...

Continue reading

Code Cleanup Begins

Working on getting some code cleanup done for PyOpenGL today.  Eliminated some wrapper objects.  Made the raw API much smaller (file-size).  Switched to using the pyglet generator for the GL, GLU and GLUT libraries (still not finished the GLUT port though, the callback types are causing problems).  Made it possible to disable array-size checking for ...

Continue reading

Time to Collect PyOpenGL Source Code Samples

Next step in regenerating the PyOpenGL documentation is to produce the per-function/per-constant sample-code references.  We do this by scanning checkouts of Open Source packages that have online source-code views and generating links to those views on the corresponding documentation pages.

Or, we could be ridiculously lazy and just use a hard-code Google Code search link, ...

Continue reading

Next Up: Code Cleanup

PyOpenGL 3.x has been in development for something on the order of 3.25 years, from the first tentative experiments in making a ctypes wrapper to something that's almost a drop-in replacement for PyOpenGL 2.x.  In that time I've gone through a significant number of code generator approaches and have altered the method I use for ...

Continue reading

Porting to PyOpenGL 3.x from PyOpenGL 2.x

Just went through the process of porting PyUI to PyOpenGL 3.x.  The changes were pretty trivial:

  • was using glVertex2i but passing it doubles (Python floats from Pygame Rects), PyOpenGL 3.x doesn't allow that kind of silent auto-conversion (just for performance reasons related to adding the call to the wrappers, I'd be happy to have it, ...

Continue reading

Almost done the doc generation script

I've got the documentation generation script for PyOpenGL 3.x to the point where the output seems to be reasonably useful.  It's definitely got rough spots, but it shows the C and Python APIs (C from docbook source files, Python by introspection).

If you just want to take a look, sample output is up at a ...

Continue reading