||This article's tone or style may not reflect the encyclopedic tone used on Wikipedia. (June 2008) (Learn how and when to remove this template message)|
Screenshot from the official OGRE Demos pack, from "Fresnel Reflections and Refractions" benchmark.
|Developer(s)||The OGRE Team|
1.10.4 (Xalafu) / April 23, 2017
2.1 / Made public in February 9, 2015
|Type||Graphics rendering engine|
Object-Oriented Graphics Rendering Engine (OGRE) is a scene-oriented, real-time, 3D rendering engine, as opposed to a game engine. OGRE is cross-platform and abstracts from the underlying system libraries, like Direct3D and OpenGL.
- 1 Architecture and features
- 2 History
- 3 Notable games and other programs using it
- 4 Reception
- 5 See also
- 6 References
- 7 Further reading
- 8 External links
Architecture and features
OGRE's main purpose is to provide graphics rendering. While it also comes with other facilities (vector and matrix classes, memory handling, etc.), they are considered supplemental. It doesn't provide audio or physics support, for instance.
OGRE is written in C++ and has an object-oriented design with a plugin architecture that allows addition of features, thus making it highly modular. OGRE explicitly supports the OIS, SDL and CEGUI libraries, and includes the Cg toolkit. The libraries also feature memory debugging and loading resources from archives.
Rendering engine features
OGRE is a scene graph based engine, with support for a wide variety of scene managers, most notably octree, binary space partitioning (BSP) and a Paging Landscape scene manager, along with a beta-stage portal-based scene manager under ongoing development.
The landscape scene manager has support for progressive level of detail (LOD), which can be created automatically or manually. The animation engine has full support for hardware weighted multiple bone skinning, which can be fixed across several poses for full pose mixing.
OGRE is designed to make it easier to write programs that use hardware-accelerated 3D graphics. OGRE also supports Vertex and Fragment programs along with custom shaders written in OpenGL Shading Language (GLSL), High-Level Shading Language (HLSL), Cg, and Assembly language.
OGRE also has a compositing manager with a scripting language and full screen video post-processing for effects such as high dynamic range rendering (HDR), blooming, saturation, brightness, blurring and noise. A particle system with extensible rendering and customizable effectors and emitters.
Language bindings and wrappers
There exist a number of OGRE bindings to other languages and frameworks including Perl, PureBasic, Python-Ogre for Python, Ogre.rb for Ruby, Ogre4j for Java and OgreDotNet, GMOGRE for Game Maker, MOGRE for .NET and hogre for Haskell.
OGRE has cross-platform support as the class library abstracts from the underlying system libraries, like Direct3D and OpenGL. It renders the same content on different platforms without the content creator having to take into consideration the different capabilities of each platform.
As of 2015[update], it supports Linux, Windows (all major versions), OS X, Google Native Client (NaCl), WinRT, Windows Phone 8, iOS and Android. Currently, pre-compiled binaries exist for Linux, OS X, and all major versions of Windows. An unofficial FreeBSD port is maintained by the FreeBSD community.
OGRE's history goes back to the end of 1999 and beginning of 2000 when the project was registered on SourceForge.
OGRE was initially published under a dual license (one being GNU Lesser General Public License (LGPL), the other one called OGRE Unrestricted License (OUL)), to make it possible to be chosen for console development as well, because most of the publishers won't use the copyleft license terms.
OGRE's development is organized in version branches. These branches have been named after members of an ancient race of fearsome deities called the Great Old Ones in the Cthulhu mythology of H. P. Lovecraft: Hastur for 0.15.x, Azathoth for 1.0.x, Dagon for 1.1.x and 1.2.x, Eihort for 1.3.x and 1.4.x, Shoggoth for 1.5.x and 1.6.x,
OGRE's version 1.0.0 (Azathoth) was released in February 2005.
Google Summer of Code 2006
OGRE got 6 slots in Google Summer of Code 2006 to enhance the existing engine and add new features to it. These entries were a Tool for one-step solution for artists, RmOgreExporter (v2), FxOgreExporter, Instancing, Crowd Rendering, Extending, Demo-ing, and Documenting the Shadow Mapping System, Scene Management, and Billboard Clouds. In the following years, many other Google Summer of Code projects have been realized for the OGRE engine.
As of 2012, OGRE has cross-platform support.
The current release in the 1.x.y series is 1.9 (Ghadamon), released on November 22, 2013.
A brief history of OGRE, and its milestones:
|Release date||Release information|
|Around 1999||Sinbad realises that his 'DIMClass' project, a project to make an easy to use object-oriented Direct3D library, has become so abstracted that it really doesn't need to be based on Direct3D any more. Begins planning a more ambitious library which could be API and platform independent.|
|February 25, 2000||SourceForge project registered, OGRE name coined. No development starts due to other commitments but much pondering occurs.|
|February 2005||OGRE v1.0.0 Azathoth final released - resource system overhaul, hardware pixel buffers, HDR, CEGui, XSI exporter|
|March 2005||OGRE is 'Project of the Month' on SourceForge|
|November 4, 2005||Ankh is released as the first commercial product using OGRE|
|May 7, 2006||OGRE 1.2 Dagon is officially released|
|March 25, 2007||OGRE 1.4 Eihort is officially released|
|August 28, 2008||OGRE 1.6 Shoggoth is officially released (currently 1.6.5 stable release)|
|February 28, 2010||OGRE 1.7 Cthugha is officially released (currently 1.7.4 stable release)|
|May 28, 2012||OGRE 1.8 Byatis is officially released|
|November 22, 2013||OGRE 1.9 Ghadamon is officially released|
Notable games and other programs using it
Open-source games and simulations
Games with proprietary licenses
- Ankh: Battle of the Gods
- Ankh: Heart of Osiris
- Captain Morgane and the Golden Turtle
- Dead Hungry Diner
- Earth Eternal
- Garshasp: The Monster Slayer
- Jack Keane
- MotorM4X: Offroad Extreme
- Next Life
- Pacific Storm
- Rebel Galaxy
- Running with Rifles
- Salvation Prophecy
- So Blonde
- So Blonde: Back to the Island
- The Book of Unwritten Tales
- The Book of Unwritten Tales: The Critter Chronicles
- Torchlight II
- Void Destroyer
- Zero Gear
- Zombie Driver
- Roblox used OGRE initially, but now uses an in-house engine.
- CEGUI The unofficial graphical user interface (GUI) widget toolkit for OGRE
- RealmForge Game Engine Open-source game engine based on an Ogre C# port, from which the Visual3D Game Engine inherits Ogre .mesh and .scene support
- Licensing FAQ on ogre3d.org
- FreshPorts- ogre3d 1.8.1
- "OGRE's Latest Release Features Google Summer of Code Projects".
- My evolving view of open source licenses by Steve (2009/09/15)
- OGRE Will Switch To The MIT License from 1.7 on ogre3d.org by sinbad (Sep 15, 2009)
- Kapoulkine, Arseny (28 March 2014). "Farewell to the OGRE: The New ROBLOX Rendering Engine is Here". ROBLOX Corporation. Retrieved 18 July 2014.
- "SourceForge: Project of the Month".
- Felix Kerger, OGRE 3D 1.7 Beginner's Guide, Packt Publishing, 2010 - ISBN 1-84951-248-5
- Gregory Junker, Pro OGRE 3D programming, Apress, 2006, ISBN 1-59059-710-9
|Wikimedia Commons has media related to OGRE.|