Archives September 2008
Peter Roesch has just contributed a set of stand-alone demos for the
PyOpenGL-Demo distribution. There's shaders, nurbs surfaces and
curves, beziers, interaction and stereo rendering. They should show up in
the next release of the package, and are available from bzr now.
bzr branch lp:~mcfletch/pyopengl-demo/trunk Demo
They'll also show up as example code in the documentation when I next update that.
The vbo module in PyOpenGL is currently making a bad assumption, namely
that the value passed to gl*Vertex functions should be 0, it could be
any integer to indicate an offset. I'm thinking of creating a class
which can be used to create offsets into the vbo which will always just
be the offset:
glVertexPointerd( ..., my_vbo + 230 )
I'd thought most people packed 1 array per vbo, apparently packing lots
of data into the vbo and indexing/updating windows into it is more common. That's from some old
email that's been sitting in my "you really ...
Reminder for everyone in Toronto that PyGTA is tomorrow evening @7pm down at Linux Caffe. We'll be going over the Python 3.0 release changes and discussing people's experiences and/or plans with converting code to 3.0 (or even 2.6).
I've just uploaded PyOpenGL 3.0.0b6 to SourceForge and PyPI. At this
point there's not really much I'm intending to change before the 3.0.0
final release. We now have support for extensions up to the OpenGL 3.0
release, we should run on Win32 and Linux at least. We should be
compatible with py2exe/pyinstaller/py2app.
From here on out what we need is testing on various platforms, with
various software configurations. I wouldn't be surprised if we find
some bugs if there's no Numpy installed, or that we'll get unhappy ...
OpenGL.org (Khronos) has made the OpenGL 2.1 docbook source files
available, so the PyOpenGL 3.x documentation
can now cover up to OpenGL 2.1 (and when 3.0 docs are out adding that should be relatively trivial). I've also updated the OpenGLContext shaderobject test/demo to use a new feature in OpenGL.extensions which allows you to create functions with "alternative" implementations. Here's what it looks like:
from OpenGL.GL import *
from OpenGL.GL.ARB.shader_objects import *
from OpenGL.GL.ARB.fragment_shader import *
from OpenGL.GL.ARB.vertex_shader import *
from OpenGL.extensions import alternate
Got PyOpenGL working on both Ubuntu and Win32 again for basically everything. Cleaned up the baseplatform module to reduce the code duplication in there. Updated the extensions included to OpenGL 3.0. Added in a contributed demo in the demos package.
Will see if I can get a few hours to do a release over the weekend. Still waiting on the OpenGL.org release of the OpenGL 2.1 manual docbook files to regenerate the online documentation. Unexpected dinner this evening, so I won't get OSX tested tonight.
Still need optimization and cleanup passes, as well as tests of ...
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 mishaps early in the projects which littered the CVS tree with empty directories).
This should hopefully make it easier for people to play with the code and send me patches for their platforms/problems as well. I've honestly just chosen bzr because ...
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.
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 how to create the debugging symbols without needing to rebuild from source. I'm guessing that there's something like Gentoo's "splitdebug
" available in some package if I knew where to look.
I've got my machine at home (Gentoo) rebuilding Python, pygame ...
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 up the 3.0 release trying to debug them (given that I'm going to be very busy for a month or more I likely won't have much PyOpenGL time). Seems that we'll have to wait for post 3.0 to ...
Sept. 2, 2008
Sept. 3, 2008
Sept. 4, 2008
Sept. 7, 2008
Sept. 11, 2008
Sept. 12, 2008
Sept. 14, 2008
Sept. 15, 2008
Sept. 22, 2008
Sept. 27, 2008