2010 September 25 / j|d|a|v|i|s|@|c|a|r|l|e|t|o|n|.|e|d|u


Bopagopa is a basic 2D/3D graphics library for Python. The user creates 2D objects such as rectangles and text and 3D objects such as spheres and boxes. Bopagopa handles the drawing and redrawing of the objects using OpenGL and GLUT. It also provides hooks for user interaction via keyboard and mouse. The 2D objects are drawn in an "overlay" layer above the 3D objects. Most Bopagopa programs fall into one of two categories: 2D applications, and 3D applications with a 2D user interface superimposed.

Bopagopa comes in two versions: Bopagopa and Bopagopa Jr. New users are recommended to start with Bopagopa Jr.; the tutorials and demos deal only with it. The relationship between the two versions is this:

Bopagopa includes utility functions for creating common geometric shapes such as rounded rectangles, annuli, surfaces of revolution, boxes, tc. Arbitrary triangular meshes are fully supported, but they are not easy to construct currently, because there is no mesh editor and there are no importers for common 3D file formats.

Bopagopa is loosely integrated with the Open Dynamics Engine (ODE). Each Bopagopa window possesses an ODE World; each 3D object possesses an ODE Body. With these, the user can perform arbitrary rigid-body dynamics and collision detection.

There is currently no friendly user manual for Bopagopa. On the other hand, there are 16 tutorials and two demos that demonstrate how to use Bopagopa Jr. Also, all classes, methods, and functions have docstrings; the user-facing ones are listed in this HTML reference.