Category archives: Snaking

Discussions of programming, particularly of programming Python

RSS feed of Snaking

Found the source of SegFaults on AMD + FreeGLUT

So the source of the segfaults that I'm seeing on fglrx and FreeGLUT on Kubuntu 14.04 has come to light. It's a known issue with the registration of FreeGLUT and fglrx at-exit handers (at the C level). You can work around it in your own code with PyOpenGL 3.1.0b3+ (which is still pending release) using: ...

Continue reading

Auto-generating Output Declarations

So the good news is that I've now got far more PyOpenGL output parameters automatically wrapped such that they can be passed in or automatically generated. That drops a *lot* of the manually maintained code. OpenGLContext works with the revisions, but the revision currently does *not* support non-contiguous input arrays (basically the cleanup included removing ...

Continue reading

Enums and Output Variables

Walter on PyOpenGL Users pointed me at the chromium "regal" tool, which has a table of constant definitions for output parameter sizings. I have a similar mechanism inside PyOpenGL's source code, so I parsed the table out of regal and used it to spot and plug gaps in the PyOpenGL table. The regal stuff is ...

Continue reading

So close on py2exe with PyOpenGL

I played with getting a py2exe executable created from PyOpenGL today, and it is very close to working.  The basics:

from distutils.core import setup
import py2exe
import glob, os
import OpenGL
data_files = [
    (
        os.path.join('OpenGL','DLLS'),
        glob.glob( os.path.join( os.path.dirname( OpenGL.__file__ ), 'DLLS', '*.*' ))
    ),
]

if __name__ == "__main__":
    setup(
        windows=['shader_test.py'],
        options={
            "py2exe": { ...

Continue reading

PyOpenGL 3.1.0b2 Available for Testing

The second (and hopefully last) beta for PyOpenGL 3.1.0 is now available. These are the changes since Beta 1. If there's nothing critical showing up I'll do a final release in a few weeks.

  • Generation fixes (lots of them) 
  • GLES/GL-only extensions should now be generated only in the appropriate directories 
  • Extensions which are multi-api will ...

Continue reading

OpenGLContext-full working on Ubuntu Again

pip's changes to not install pre-release software caught me up on my bad habit of just leaving alphas and betas of little-used packages that pass testing up as the "final" release. While I'm going to have to get that habit quashed, I've updated OpenGLContext-full in the meantime to pull the correct betas and have pushed ...

Continue reading

Almost ready for a beta 2 for PyOpenGL

Went through my piled-up PyOpenGL email from the vacation and tried to address the various bugs and issues. Other than confirming a fix on hardware I don't have we should be pretty close to ready for a second beta. I regenerated the extensions based on the latest khronos api svn, so we should be pretty ...

Continue reading

OSMesa Refactoring

We've had a binding/platform for the Off-Screen Mesa (OSMesa) library for a while now. It was originally coded such that it provided all of the OSMesa entry points from the platform package (not really appropriate, as these are the same level as things such as GLX and WGL). Long story short, they've been moved to ...

Continue reading

PyOpenGL Working on the Raspberry Pi

I decided to use a USB key root for the RPi, and with that got a standard Raspbian setup going.  The really nice thing is that the EGL, GLES, etc entry points all resolved properly with the same code used for Linux/MESA EGL and GLES, yay.

Thing is, without the broadcom graphics module they're a ...

Continue reading

Raspberry Pi BCM Window Needs Love

So as part of getting a PyOpenGL demo running on the Raspberry Pi I wrote a trivial subset of the Broadcom graphics interface api in ctypes.  There's an (abandoned? not very recent, anyway) full wrapper in Cython, but even getting that compiled just took too long for me working on the Pi (far longer than ...

Continue reading