Cross-platform Shaders can be a Pain
Last update on .
I've been trying to push out the next beta of PyOpenGL 3.0.1 for a while now. However, as noted before, I've now got a semi-automatic test suite... and it's failing on Win32. So far all of the problems have come down to test-suite issues, but they've been exposing some annoying behaviors of the ATI Win32 drivers on my Vista install:
- interpolation between positive floats in a varying array is causing *negative* values to show up in the fragment shaders
- attempts to draw into a select buffer with certain shader-based geometry is causing the GL to crash/hang
no big deal for the first, one of those "um, that's dumb" issues; you see your geometry showing arbitrary view-space changes and you're pretty sure it's something wrong with the shading calculation... but it takes a while to debug a "finished" shader, so each bug requires lots of in-short-supply time to verify and fix. Worse, I have to work in Win32, where I don't have a reasonable development environment set up. I say these are annoying behaviours, incidentally, because the *same machine* runs the same code perfectly well under Ubuntu Karmic. I may try with the latest Catalyst on Win32 just to see if it solves the issues.
Anyway, there's still a few bugs there, which aren't *likely* in PyOpenGL, more likely in the tests/tutorials, but I don't want to release with the test-suite not passing. Anyway, I have some client work to get done before I get another chance to sit down to PyOpenGL. I'd like to get 3.0.1 final out before PyCon so that I can work on other projects during the sprint (maybe a game?)
Pingbacks are closed.
Comments are closed.