PyGL3Display - 1.9-alpha6
David Griffin (habilain)
2.0 will be the final version of PyGL3Display
I've been looking through PyGL3Displays code with the intention of implementing proper Z-ordering and have come to the conclusion uncovered that a) PyGL3Display would likely need some major API-breaking work to implement Z-ordering in any sane manner and b) there's a fair amount of other use cases which PyGL3Display, in it's current form, simply cannot do (e.g. multiple windows)
Hence the choices are either a backwards incompatible release or to put PyGL3Display in maintenance only mode and move to another project. I've chosen the latter; apologies to anyone that this inconveniences. - David
PyGL3Display is a high performance, OpenGL, 2D sprite library for Python/Pygame with a simple API, not too dissimilar to Pygames (There's an API compatible Image object, and Sprites are not too dissimilar). It requires slightly more recent hardware than other libraries, but it is "breaks the Pygame FPS counter" fast*.
License: GPL v2 / v3. Commercial licenses are negotiable - at least on parts which I have copyright on (as I am open to outside contribution).Requirements: Python 2.x, Pygame, PyOpenGL, OpenGL 2.0 compliant system
On Linux only: CFFI can replace PyOpenGL
Not yet compatible with Python 3
1. Near optimal performance.
2. Use GPU shaders as much as possible, as Python programs are much more likely to be CPU bound.
3. Clean, easy to use "normal" API, which also has an advanced mode for people who want the absolute maximum in performance and don't mind getting their hands dirty. For normal use, the API should not be any more difficult to use than Pygame.
* "Breaks the Pygame FPS counter" fast: On my Phenom II based system, the text demo, which draws a not inconsiderable amount of text, jumps between 3333.33 FPS and 5000 FPS according to a Pygame clock object. A hand written FPS counter indicates the real FPS is about 4200. On a much older system (Pentium 4), PyGL3Display still manages 666.66 FPS according to Pygame clocks - which again, seems like I'm hitting some accuracy limit in floating points.
Note: Questions, bug reports etc. are all best done through Launchpad, because that way I'll get notified quickly.
Fixes a critical bug with rendering multiple primitives Improves code quality
Pygame.org account Comments
If you wish to leave a comment with your pygame.org account, please sign in first.