Author archives: Mike

RSS feed of Mike

PyOpenGL 3.1.0 final is out

After far too long, and way more changes than originally intended, PyOpenGL 3.1.0 final is now out. The big changes are:

  • Generation of wrappers is substantially more automatic and based on Khronos source-files with annotations from the Chromium/regal project
  • Common code-base for Python 2.6, 2.7, 3.3 and 3.4, Python 2.5 is no longer supported, 2to3 ...
  • Continue reading

    React.js with Django

    So I've been doing a spike test with a project where I'm trying to use React.js to build a front-end to a Django application. The bulk of this application is basic Django forms, posts, page-loads, etc. but there's a number of complex views for scheduling, content uploading etc. As of now I think I'm willing ...

    Continue reading

    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

    PyOpenGL test_core on 2.7, 3.3 and 3.4

    I just finished doing a clean test run across those 3 releases of Python with each of the 8 major config flags on/off (i.e. 48 runs of the test suite). As expected, almost all of the failures were in Python 3.x, and mostly related to unicode, where COPY_ON_ERROR generated failures when a unicode string was ...

    Continue reading

    Create Dummy ALSA Devices (en mass)

    Since this was a bit of a pain to track down, here's the process, on an Ubuntu Server 12.04 machine, to create many ALSA dummy devices:

    $ cat /etc/modprobe.d/alsa-dummy.conf 
    options snd-dummy enable=1,1,1,1,1,1,1,1,1,1,1,1 pcm_devs=4,4,4,4,4,4,4,4,4,4,4,4 fake_buffer=0,0,0,0,0,0,0,0,0,0,0,0
    $ modprobe snd-dummy

    That sample creates 48 dummy devices (on 12 cards), though that's likely more than you'll ever need.  The ...

    Continue reading

    Ubuntu Configuration for Inspiron 15r Running Hot

    So you have a Dell Ubuntu 14.04 Laptop and it is running way too hot. You can configure it to run at a reasonable level using i8kmon. As with anything heat related, be careful. If you miss-configure the machine you are likely to wind up with a fried machine!

    You create a file called /etc/i8kmon.conf and put the ...

    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