Category archives: Snaking
Discussions of programming, particularly of programming Python
Most of the work I planned to do is done...
Written by
on
in
Snaking.
There's always going to be lots more work to get done, but I think I'm pretty much okay with where OpenGL_accelerate is for now. There's now a C-level API for format handlers, so that Cython modules can be written that pretty much do a cast and a dereference to get values, rather than doing lots ...
Where are we...
Written by
on
in
Snaking.
So with a fairly extensive set of Cython wrappers, running a fairly large, heavy VRML world with transparencies and all the rest, I see a noticeable, but modest, speedup.
The world I'm testing on goes from ~12.8fps (avg) to 15.5fps (avg), that's a nice 20% speedup. On average OpenGLContext now spends around 20% of rendering ...
Cython for the last couple of days...
Written by
on
in
Snaking.
I've been writing accelerator modules for PyOpenGL for the last two days. I think I've got to a reasonably comfortable point. I've got a Numpy FormatHandler and an ArrayDatatype written. With some judicious use of cdef'd typed self variables there's a lot of overhead eliminated from the wrapper operation. To make it really fast, however, ...
First step in eliminating GLU quadrics...
Written by
on
in
Snaking.
OpenGLContext is currently using GLU quadrics to render the various VMRL quadric primitives. There's no particular reason to do so other than it was easy and simple to implement. I've just written up some code to generate two VBO-compatible arrays that render a sphere with a given angular resolution as a single glDrawElements call (once ...
GL_ARB_compatibility
Written by
on
in
Snaking.
So yes, apparently the ARB listens when its remaining community screams. This extension (as Lorenzo points out) has been promised to be supported by nVidia on all of its planned 3.x cards and it effectively "undoes" the deprecation of the legacy APIs in OpenGL 3.1. So you can likely get away with not rewriting, as ...
Profiler modules for fun and profit...
Written by
on
in
Snaking.
I wrote a silly little profiler module yesterday (that is, an actual profiler, not a profile viewer). It's currently a Python-coded profiler, so pretty much useless, but it was very fun to write :) . It captures the same basic data as cProfile (that is, it does run-time compression of the data-set rather than logging ...
Silly little Eric4 helper script released...
Written by
on
in
Snaking.
I'm a happy Eric4 user. I use very little of the "IDE" functionality, other than the project browser and source-code editor. I am, however, very happy with just that. I remove the rest of the windows and have a nice clean environment for coding that is snappy and has all the key-bindings I've worn into ...
Luck o' the Draw @ World Plone Day
Written by
on
in
Snaking.
Headed downtown yesterday to check out World Plone Day (Toronto). Had an interesting discussion with a gentleman I've met before who works in a non-profit that does local-driven training programs where they use Plone to manage their (large) community that is, in essence, a huge tree of conversations/blogs that may need to propagate up to ...
A Good Day
Written by
on
in
Snaking.
Opaque, transparent and select (with colours, not select mode) rendering are now all working in the new renderer. That was more than I was expecting to get done today. I should likely work on occlusion/frustum queries next (should be fairly easy, Shapes already have queries to check against the frustum and/or do occlusion queries). The ...
Scene sorting with numpy...
Written by
on
in
Snaking.
You often want to be able to calculate the eye-space coordinate of a given model-space coordinate. One of the most common reasons is to calculate the distance to a given object from the camera (depth in the scene) so that you can do sorting of the scenegraph.
Why would you want to sort a scenegraph? ...