From Wikipedia, the free encyclopedia
Jump to: navigation, search
Python-ogre fresnel-ogredemo.jpg
Python-Ogre achieving excellent performance on modern hardware.
Developer(s) The OGRE Team
Initial release 2005; 11 years ago (2005)
Stable release 1.6.1 / 26 January 2009; 7 years ago (2009-01-26)
Platform Cross-platform
Type 3D graphics engine
License LGPL

Python-Ogre is a Python binding for the OGRE 3D engine, providing the functionality and performance of OGRE (written in C++) with the accessibility and ease of use of Python. This facilitates the rapid development of 3D games, as well as making the OGRE engine more accessible to the beginner, who might otherwise be daunted by the technicalities of writing the program in the native C++. The performance of the engine is decreased in comparison to the original C++ demos, however, the original OGRE engine provides such high performance, the performance of Python-Ogre is more than acceptable for all but the most graphics-intensive games.


Python-Ogre is unique from the Ogre3D engine it is based upon, as it comes pre-bundled with Python bindings and demos for many other support libraries.

Included libraries[edit]

The following libraries are either currently supported, or have at one point in time worked with the Python-Ogre engine. Support for particular libraries are noted in each release. Demos are available for all libraries listed, however, not all demos function, due to the constantly evolving codebase and limited number of active developers.

Current renderer support for
  • BetaGUI -- Compact and lightweight OGRE GUI library
  • CEGUI -- Fully featured general-purpose videogame GUI library
  • Navi -- HTML/CSS/JS-based OGRE GUI library
  • QuickGUI -- Easy to use, widget-based OGRE GUI library
  • Hikari -- Flash based OGRE GUI library
  • OpenAL -- Cross-platform audio API commonly used with Ogre3D
  • Bullet -- Full-featured physics engine with a feature set similar to that of proprietary libraries, offering both rigid body and soft body collision detection
  • ODE -- Open source rigid body collision detection library
  • Newton -- Offers real-world physics simulation, where accuracy and real-world physical parameters are desired over performance and newer features
  • PhysX -- Popular, proprietary, high performance, fully featured library
    • NxOgre -- Wrapper for the PhysX library and Ogre3D, with an editor and other helpful Ogre3D-oriented features
  • Particle Universe -- Scriptable particle effects engine that helps create complex particle effects easily
  • Caelum -- Realistic sky, atmosphere, weather and lighting simulation
  • LibNoise -- Portable, open-source, coherent noise-generating library


Python-Ogre has been compiled on all platforms supported by OGRE:


A frame rate well in excess of 100FPS and the ability to render hundreds of thousands of triangles per frame on modern hardware have been reported by users of Python-Ogre.[citation needed]


The official Python-Ogre site can be found below. Also hosted there is the Python-Ogre wiki, containing build instructions for Windows, Linux, and Mac OS X platforms, as well as tutorials and helpful code snippets. Ogre3D hosts the official Python-Ogre forum for helping developers in their use of the engine in making their games. Official Python-Ogre support related towards bugs in the development of the Python-Ogre engine itself can be found in the Python-Ogre Google Group. SVN commit history and users of Python-Ogre can be found at the project's Ohloh page.


The Python language binding for the OGRE engine has, as is typical of long-established open source projects, an elaborate history.

The PyOgre project began in early 2005, where a Python binding for OGRE was first attempted using Boost.Python from the Boost C++ Libraries by two members of the Ogre3D community, Clay Culver and Federico Di Gergorio. This effort ultimately failed, which prompted the use of SWIG as the basis for the C++ binding.[1] This method proved to be rather successful, providing to the community with a somewhat limited and error-prone implementation, but an implementation nonetheless.

In mid-2006, Lakin Wecker began work on Python-Ogre, based on the Boost.Python libraries, as was attempted before. This was developed alongside the PyOgre project. He was aided by Andy Miller, who then later took over development of the project with assistance from Roman Yakovenko, Joseph Lisee, and Ben Harling during the evolution of the engine.[2]

Development of PyOgre was halted in mid-2007, and officially succeeded by Python-Ogre.[3]

As of summer of 2008, Andy Miller was actively working on adding new features to Python-Ogre, as well as providing support and maintenance to the community. As of January 2014, the main website at went offline, but is still extant.


External links[edit]