Retained-mode or "scenegraph" engines are generally
the most appropriate choice for novice programmers, or those
who simply want to accomplish some domain-specific task (such
as "display these six widgets and let user examine them" or
"let the user wander around this world") rather than spending
time worrying about the actual process of rendering.
C++ Library for Visual FX with Python binding
Focussed on the needs of those creating
Visual effects tools/toolchains. RIB (renderman) format support,
Maya importers, image handling, UI controls.
Large C++ 3D Game engine with (second-class) Python bindings
Large, popular 3D engine which apparently provides
Python bindings of some sort. Lots of nice features in the core engine.
C++ Python extension providing DirectX 9.0 access
Interface to the 2D, 3D, and audio features of the Direct-X library from
Microsoft. Includes support for loading .x meshes. Provides access to
HLSL shaders and the like.
Recent C++ engine with mechanical engineering feel
comes with an IDE for creating the 3D and programmatic features. Lots of
physics simulation support as well. Built on OpenGL 2.0.
Game-style? C++ engine with Python binding
C++ engine with fairly extensive list of
features and fairly high-quality screenshots. Python
binding apparently "somewhere around the net", though
other sources suggest that it's a built-in scripting
API. Uses OpenGL or Direct3D for its rendering back-end.
Has content loaders for e.g. Quake BSPs.
Wrapper around Coin for Qt-based visualization tasks
Intends to provide reasonable platform for doing 3D work under Qt
with large data-sets. Uses Coin as the rendering engine, not based on
New 2D sprite engine for PyGame written using OpenGL
Game-focused 2D graphics engine providing
accelerated operations for PyGame sprite-based games. Sprites
are to 2D graphics engines as scenegraphs are to 3D graphics
engine, (retained-mode method of drawing figures).
Scientific data visualizer written on top of VTK
MayaVi is a free, easy to use scientific
data visualizer. It provides a Tkinter GUI
2D Graphics package trying to create Director-like API
New project originally based on wxPython, now
trying to generalise their API for use with other PyOpenGL
Virtual world engine with networking and 3D graphics
Uses Panda or Ogre for rendering, Twisted for networking, ODE for physics.
Server infrastructure with "portal" modelling to limit area-of-interest.
3D Game/VR engine with "pending" support for Python
Currently Windows only, with support for other
platforms planned. C++ engine with bindings to TCL/Tk and
Fairly advanced C++ rendering engine with Python binding
OGRE is a fairly advanced Game-style engine.
The Python binding has been resurrected and is now under active
development and has apparently covered the bulk of the OGRE API.
VRML97-compatible scenegraph engine written in Python
Built directly on top of PyOpenGL
, OpenGLContext is
a retained-mode rendering engine which demonstrates many of the most
basic features desired by those building scenegraph engines.
It is written primarily to provide a source of sample and testing
code for the PyOpenGL library, but represents a fairly complete
OSGPL ("Relaxed LGPL")
General-purpose C++ engine with Python binding
Large C++ rendering engine with what
looks to be a fairly large user base. Rendering quality is
rather good judging from the screenshots. Uses OpenGL for it's
rendering back-end. Rather minimal homepage
for the Python
CMU/Disney collaboration on 3D game/simulation engine
C++ engine with Python bindings. Goals are to be:
fast, powerful, easy to program, flexible, modifiable, long-lived,
platform agnostic, and reprogrammable on the fly. Focus of the
project is on the Python interface.
BSD (but requires commercial or GPL Coin)
Wrapper for the Coin/Inventor Scenegraph Library
Pivy is a Coin binding for Python.
Coin is a high-level 3D graphics library with a C++
Application Programming Interface. Coin uses scene-graph
data structures to render real-time graphics suitable for
all kinds of scientific and engineering visualization
applications. Can be extended with PyOpenGL
. Includes loaders
for a number of common formats, including VRML97.
2D PyGame library
Collection of modules for use in writing games with
, includes an OpenGL accelerated 2D drawing
library, a scenegraph-based sprite engine, and some extensions to PyGame's
Virtual Reality engine with Python extension API
Large research project written in C++ with
Python either embedded in or embedding the engine. Focus appears
to be on the creation of a single API usable across all platforms
(at the C++ level).
Rewrite of Soya3D game engine
Cloud-based game engine under active development,
targeting deployment in the near-term future.
Very early-stage engine for 3D role playing games
"Open Source" (unspecified)
C++ raytracer with Python binding
Raytracer with what looks like a fairly
extensive Python binding (with some limitations on the type of
extending you can do with Python). Focus appears to be on "script"
writing (similar to VPython) with nodes similar to those seen in
any of the scenegraph engines.
Large 3D and 2D rendering project using PyOpenGL
Currently unmaintained, but has Python code for a lot of interesting tasks,
such as rendering a subset of SVG in OpenGL and loading various 3D file
formats. Appears to use wxPython as its GUI-hosting environment.
ZOE Derivative with 'extensions including perspective and lighting'
In summary, a conversion of ZOE
to use PyGame for
GUI operations instead of GLUT. PyOpenGL
Focus on wireframes and particle systems inherited from ZOE.
A "sketchbook" for (networked) OpenGL graphics
Built on top of PyOpenGL
Twisted and PyGame; a rather extensive-seeming engine for experimenting
with OpenGL rendering.
Very high level 3D engine for Python games
Aims at providing a professional-level development
platform for (GPL) 3D games. Impressive screenshots. Written in PyRex,
uses Cal3D for character animation, ODE for physical simulation.
3D Game engine in Python w/ Pyrex
Focus on flexibility, clean design and ease of use (for coders).
This is more properly a game engine, with a set of
features apparently including, for instance, collision detection,
physics simulation (using ODE), and a 3DSMax exporter. Rendering
pipeline is GLSL-based with no legacy (fixed) pipeline.
LGPL (GPL Demos)
Portable library for creating 3D games
At some point, had a Python binding, don't currently
see any mention of it. This is a fairly large engine for creating
games or game-like programs, includes a scenegraph engine, support for
audio, UI, joysticks, that kind of thing.
High level scripting of custom C 3D engine in Python
Fairly early project that seems to be focussing on
ease-of-use for writing quick scripts to explore an idea. Integration with
gstreamer and PyODE
3D Programming for Ordinary Mortals
Simple 3D scenegraph engine with focus on
educational rendering. Large user community, novice friendly. Not
really focused on cutting-edge rendering features or the like.
Uses a simple C/C++ engine wrapped for use by Python.
BSD-like (+ notification-of-changes)
Research/visualisation focused toolkit with strong Python bindings
VTK is a C++ retained-mode rendering engine
with fairly complete Python bindings. It has quite a few mechanisms
which attempt to make the process of visualising phenomena easier.
Embeddable in wxPython.
Data-visualation of 1D to 4D array data
PyOpenGL-based renderer for scientific data using
Scenegraph with focus on wireframes and particle systems
ZOE (formerly OGLE) is a very trivial OpenGL
graphics engine, written entirely in Python. It's primary
focus is rapid prototyping and experimentation, so it only
supports the barest essentials, with focus on wire frames.
Special emphasis is placed on particle systems (where
non-interacting particles follow simple rules).