Python-Ogre

Last updated
Python-Ogre
Developer(s) The OGRE Team
Initial release2005;18 years ago (2005)
Stable release
1.7.1 / 15 May 2010;13 years ago (2010-05-15)
Platform Cross-platform
Type game engine
License LGPL
Website wiki.python-ogre.org

Python-Ogre is a Python binding for the OGRE 3D engine, designed to provide the functionality and performance of OGRE (written in C++) with the accessibility and ease of use of Python to facilitate the rapid development of 3D games and to make the OGRE engine more accessible to the beginner, who might otherwise be daunted by the technicalities of writing 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 that the performance of Python-Ogre is still more than acceptable for all but the most graphics-intensive games.

Contents

Features

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

Compatibility

Python-Ogre has compatibility for all platforms supported by OGRE:

Support

The Python-Ogre wiki, contains build instructions for Windows, Linux, and Mac OS X platforms, as well as tutorials and example code snippets.

Ogre3D hosts the official Python-Ogre forum for helping developers in their use of the engine.

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.

As of January 2014, the main website at python-ogre.org went offline, but wiki.python-ogre.org is still extant.

Included libraries

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.

Renderer
GUI
I/O
Audio
Physics
Effects

Related Research Articles

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is free and open-source cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

<span class="mw-page-title-main">Allegro (software library)</span> Software library for video game development

Allegro is a software library for video game development. The functionality of the library includes support for basic 2D graphics, image manipulation, text output, audio output, MIDI music, input and timers, as well as additional routines for fixed-point and floating-point matrix arithmetic, Unicode strings, file system access, file manipulation, data files, and 3D graphics. The library is written in the C programming language and designed to be used with C, C++, or Objective-C, with bindings available for Python, Lua, Scheme, D, Go, and other languages. Allegro comes with extensive documentation and many examples.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

Irrlicht is an open-source game engine written in C++. It is cross-platform, officially running on Windows, macOS, Linux and Windows CE and due to its open nature ports to other systems are available, including FreeBSD, Xbox, PlayStation Portable, Symbian, iPhone, AmigaOS 4, Sailfish OS via a QT/Qml wrapper, and Google Native Client.

<span class="mw-page-title-main">VLC media player</span> Free and open-source media-player and streaming-media-server

VLC media player is a free and open-source, portable, cross-platform media player software and streaming media server developed by the VideoLAN project. VLC is available for desktop operating systems and mobile platforms, such as Android, iOS and iPadOS. VLC is also available on digital distribution platforms such as Apple's App Store, Google Play, and Microsoft Store.

<span class="mw-page-title-main">PyQt</span> Python GUI library

PyQt is a Python binding of the cross-platform GUI toolkit Qt, implemented as a Python plug-in. PyQt is free software developed by the British firm Riverbank Computing. It is available under similar terms to Qt versions older than 4.5; this means a variety of licenses including GNU General Public License (GPL) and commercial license, but not the GNU Lesser General Public License (LGPL). PyQt supports Microsoft Windows as well as various kinds of UNIX, including Linux and MacOS.

<span class="mw-page-title-main">Kodi (software)</span> Free software media player

Kodi is a free and open-source media player and technology convergence software application developed by the XBMC Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls. It allows users to play and view most streaming media, such as videos, music, podcasts, and videos from the Internet, as well as all common digital media files from local and network storage media, or TV gateway viewer.

<span class="mw-page-title-main">PyGTK</span> Set of Python wrappers for the GTK graphical user interface library

PyGTK is a set of Python wrappers for the GTK graphical user interface library. PyGTK is free software and licensed under the LGPL. It is analogous to PyQt/PySide and wxPython, the Python wrappers for Qt and wxWidgets, respectively. Its original author is GNOME developer James Henstridge. There are six people in the core development team, with various other people who have submitted patches and bug reports. PyGTK has been selected as the environment of choice for applications running on One Laptop Per Child systems.

<span class="mw-page-title-main">PhysX</span> Realtime physics engine software

PhysX is an open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite.

<span class="mw-page-title-main">PyMOL</span> Proprietary open-sourced python biology structure tool for visualisation

PyMOL is an open source but proprietary molecular visualization system created by Warren Lyford DeLano. It was commercialized initially by DeLano Scientific LLC, which was a private software company dedicated to creating useful tools that become universally accessible to scientific and educational communities. It is currently commercialized by Schrödinger, Inc. As the original software license was a permissive licence, they were able to remove it; new versions are no longer released under the Python license, but under a custom license, and some of the source code is no longer released. PyMOL can produce high-quality 3D images of small molecules and biological macromolecules, such as proteins. According to the original author, by 2009, almost a quarter of all published images of 3D protein structures in the scientific literature were made using PyMOL.

Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit, and is Python's de facto standard GUI. Tkinter is included with standard Linux, Microsoft Windows and macOS installs of Python.

<span class="mw-page-title-main">CUDA</span> Parallel computing platform and programming model

CUDA is a parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for general purpose processing, an approach called general-purpose computing on GPUs (GPGPU). CUDA is a software layer that gives direct access to the GPU's virtual instruction set and parallel computational elements, for the execution of compute kernels.

<span class="mw-page-title-main">CEGUI</span>

Crazy Eddie's GUI (CEGUI) is a graphical user interface (GUI) library for the programming language C++. It was designed for the needs of video games, but is usable for non-game tasks, such as applications and tools. It is designed for user flexibility in look-and-feel, and to be adaptable to the user's choice in tools and operating systems.

Enthought, Inc. is a software company based in Austin, Texas, United States that develops scientific and analytic computing solutions using primarily the Python programming language. It is best known for the early development and maintenance of the SciPy library of mathematics, science, and engineering algorithms and for its Python for scientific computing distribution Enthought Canopy.

<span class="mw-page-title-main">GTK</span> Free and open-source cross-platform widget toolkit for creating graphical user interfaces

GTK is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the Wayland and X11 windowing systems.

<span class="mw-page-title-main">PySide</span>

PySide is a Python binding of the cross-platform GUI toolkit Qt developed by The Qt Company, as part of the Qt for Python project. It is one of the alternatives to the standard library package Tkinter. Like Qt, PySide is free software. PySide supports Linux/X11, macOS, and Microsoft Windows. The project can also be cross compiled to embedded systems like Raspberry Pi, and Android devices.

Cocos2d is an open-source game development framework for creating 2D games and other graphical software for iOS, Android, Windows, macOS, Linux, HarmonyOS, OpenHarmony and web platforms. It is written in C++ and provides bindings for various programming languages, including C++, C#, Lua, and JavaScript. The framework offers a wide range of features, including physics, particle systems, skeletal animations, tile maps, and others.

qutebrowser Free keyboard-focused web browser with a minimal GUI

qutebrowser is a Chromium-based web browser for Linux, Windows, and macOS operating systems with Vim-style key bindings and a minimal GUI. It is keyboard-driven and is inspired by similar software such as Vimperator and dwb. It uses DuckDuckGo as the default search engine. qutebrowser is included in the native repositories of Linux distributions such as Fedora and Arch Linux. qutebrowser is developed by Florian Bruhin, for which he received a CH Open Source award in 2016.

References

  1. "Introduction to PyOgre". Archived from the original on September 20, 2008.
  2. "Ogre3D Addons Forums - First Release of Python-Ogre". Archived from the original on February 10, 2012.
  3. "Ogre3D Addons Forums - Python-Ogre official". Archived from the original on February 10, 2012.