[Bf-committers] Replacing BGL with PyOpenGL

Mitchell Stokes mogurijin at gmail.com
Mon Apr 7 10:59:04 CEST 2014


BGL is a Python wrapper for OpenGL that is maintained by Blender.
Unfortunately, it is stuck on approximately OpenGL 1.1 level features with
some shader calls also exposed. It could be updated to support newer OpenGL
features (at least having vertex arrays would be nice), but there really is
not much need to maintain our own OpenGL wrapper. PyOpenGL[0] supports
Python 3.3+, and could be used as a replacement for BGL (in other words,
deprecate BGL and ship Blender with PyOpenGL).

Pros:
  * Someone else would be maintaining the wrapper
  * PyOpenGL uses ctypes and the same package can be used for multiple
platforms

Cons:
  * Yet another Python package for us to ship with Blender
  * Adds to Blender's size
  * Some APIs may need to be updated (bge.texture and Image.gl_load come to
mind)

What are some other people's thoughts on this?

--Mitchell Stokes

[0] http://pyopengl.sourceforge.net/


More information about the Bf-committers mailing list