Author archives: Mike
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? ...
World Plone Day is tomorrow...
Written by
on
in
Snaking.
There's a Toronto event as part of World Plone Day that I'm intending to attend (free registration is available off that link). Interesting to see the Toronto Plone group organizing something like this. They also have regular meetings for those who are aren't able to attend the WPD day-time event.
Years in, it's easy to forget the details...
Written by
on
in
Snaking.
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". ...
Path Matrix Caching
Written by
on
in
Snaking.
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 ...
Spike test works...
Written by
on
in
Snaking.
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 ...
Debug Mode Rendering (or, What you should always have)
Written by
on
in
Snaking.
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: ...