PyOpenGL Changelog

What's new in PyOpenGL 3.0.0

Mar 31, 2009
  • PyOpenGL 3.0 is a complete rewrite of the PyOpenGL project which attempts to retain compatibility with the original PyOpenGL 2.x API while providing support for many more data-formats and extensions than were wrapped by the previous code-base. You should expect a significant performance decline with the use of PyOpenGL 3.x! PyOpenGL 3.x will have an accelerator module released in time to provide better performance, but the development method (ctypes) is inherently slower than the C (SWIG) method previously used. This performance decline is particularly noticeable if you are using the deprecated per-vertex operations or display-lists. There is no plan to fix these operations, as their use is an anti-pattern anyway. Build and installation has been dramatically simplified. It is possible to work directly from a PyOpenGL bzr branch or to merely unpack the package. PyOpenGL 3.x is already supported by the PyInstaller "exe" packaging utility, and can be made to work with Py2exe. PyOpenGL 3.x introduces module-level configuration flags which allow you to modify the behavior of the entire PyOpenGL package, e.g. by introducing extremely verbose logging, or turning off all error-checking to improve performance. Of particular note is a flag which allows you to disable APIs which have been deprecated by the ARB in OpenGL 3.0. PyOpenGL 3.x provides access to the entire OpenGL 3.x API, as well as most extensions which have been entered in the OpenGL extension registry. Commonly used extensions can have "Pythonic" wrappers written easily, and many of the commonly used extensions already have simplified APIs provided. It also provides access to the GLUT, GLE and GLX libraries. The 3.0.0 final release has a few bugs fixed from the previous 3.0.0c1 release. Users of the release candidate should upgrade.

New in PyOpenGL 3.0.0 Beta 8 (Dec 8, 2008)

  • This is a performance, bug-fix and packaging release. It contains quite a large number of tweaks to try to improve performance, particularly with Numpy arrays. There is an optional accelerator module with Cython code to speed common operations. This release eliminates the use of pkg_resources for plug-in registration. Note: source packages were re-released to correct missing metadata.py file.