Archives April 2009
Sometimes after a decade or so of working with a technology you become so accustomed to the low-level operation you just stop thinking about how it actually works. Writing the "legacy free" version of OpenGLContext is making me think again about how the whole edifice of computer graphics works.
Take, for example, the "normal matrix". ...
As mentioned many times already, OpenGL 3.1 is eliminating the matrix manipulation code from the OpenGL API. OpenGLContext/PyVRML97 already had a matrix-calculation mechanism, but it wasn't used for rendering anything, it was just used for certain bookkeeping operations.
To make it practical to use the matrices for rendering they need to be cached. I'm eventually ...
Set up a little spike test that overrides the matrix setup for the projection and model-view matrices to be identity values. The test then uses visitor.find() to construct paths to all Rendering node-types in a scenegraph and sets up the matrices with a call to glLoadMatrix on my calculated matrices and then renders the Rendering ...
Spent rather more time this afternoon than I'd intended working on fixing font rendering. It was just a little spike test using Pygame to create a TextureAtlas and then rendering the atlas texture onto a quad to be sure it showed up. Except that it didn't.
Which brings me to the point of this post: ...
I'm guessing that everyone who's ever taken "intro to not particularly slow computer graphics" has written their own texture atlas implementation, so hey, I should too :) . Texture atlases are collections of large numbers of small textures which are packed into a single, larger texture with some book-keeping metadata to allow the GL to ...
Began working on more flags to peel back some of the ease-of-use layers in PyOpenGL to recoup performance. List/tuple array-types now respect the ERROR_ON_COPY flag (effectively disabling list/tuple support when the flag is activated) and there is a STORE_POINTERS flag, which when False (with ERROR_ON_COPY True) will disable wrapper operations storePointer mechanism. That's one stage ...
Videos of my two talks at PyCon are both up now. Introduction to Python Profiling is probably the better of the two for the general programming audience. A Whole new OpenGL is only going to be of interest to people who actually want to work with OpenGL (in Python) or are just curious about how ...
PyOpenGL is the traditional OpenGL binding for the Python language (Python 2.x series). This release is the first major release of the package in more than 4 years. PyOpenGL 3.x is a complete rewrite of the PyOpenGL project which attempts to retain compatibility with the original PyOpenGL 2.x API while providing support for many more ...
As of this evening SimpleParse bzr trunk seems to be working on Python 2.6. Weird thing is that I seem to have done the bulk of the work back in November... but I don't recall doing it. All I did this evening was fix a couple of deprecation warnings and a problem with conflicts on ...
- April 1, 2009
- April 2, 2009
- April 5, 2009
- April 8, 2009
- April 9, 2009
- April 13, 2009
- April 14, 2009
- April 15, 2009
- April 17, 2009
- April 20, 2009
- April 21, 2009
- April 23, 2009
- April 24, 2009
- April 26, 2009
- April 29, 2009
- April 30, 2009