||This article's tone or style may not reflect the encyclopedic tone used on Wikipedia. (June 2008)|
Screenshot from the official OGRE Demos pack, from "Fresnel Reflections and Refractions" benchmark.
|Developer(s)||The OGRE Team|
|Stable release||1.9 (Ghadamon) / November 24, 2013|
|Preview release||2.1 / Made public in February 9, 2015|
|Type||Graphics rendering engine|
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++ and designed to make it easier and intuitive for developers to produce applications utilizing hardware-accelerated 3D graphics. The class library abstracts the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other high level classes.
Recently, OGRE has received multi-platform support and currently supports Linux, Windows (all major versions), OS X, NaCl, WinRT, Windows Phone 8, iOS and Android. An unofficial FreeBSD port is maintained by the FreeBSD community.
1.0.0 ("Azathoth") was released in February 2005. The current release in the 1.x.y series is 1.9 ("Ghadamon"), released on November 24, 2013. Released under the terms of the MIT License, as of version 1.7.0 and previously under a modified GNU Lesser General Public License (LGPL), the engine is free software. The modification of the LGPL allows users to statically link the library under the same terms as dynamic linking, though a distinction made by the LGPL.
As its name states, OGRE is "just" a rendering engine. As such, its main purpose is to provide a general solution for graphics rendering. Though it also comes with other facilities (vector and matrix classes, memory handling, etc.), they are considered supplemental. It is not an all-in-one solution in terms of game development or simulation as it doesn't provide audio or physics support, for instance.
The choice of OGRE as a graphics engine allows developers the freedom to use whatever physics, input, audio and other libraries they want and allows the OGRE development team to focus on graphics rather than distribute their efforts amongst several systems. OGRE explicitly supports the OIS, SDL and CEGUI libraries, and includes the Cg toolkit.
As of version 1.7.0, Ogre is released under the terms of the MIT License. Earlier versions of OGRE were published under a dual license (one being 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 don't like copyleft license terms.
OGRE is a scene graph based engine, with support for a wide variety of scene managers, most notably octree, BSP and a Paging Landscape scene manager, along with a beta-stage portal-based scene manager under ongoing development.
OGRE is fully multi-platform, with OpenGL and Direct3D[better source needed] support. It can render the same content on different platforms without the content creator having to take into consideration the different capabilities of each platform. This reduces the complexity of deploying a game on multiple systems. Currently pre-compiled binaries exist for Linux, OS X, and all major versions of Windows. Both FreeBSD binary package and port are made available unofficially by FreeBSD community.
The landscape scene manager has support for Progressive LOD, which can be automatically or manually created.
The animation engine has full support for hardware weighted multiple bone skinning, which can be fixed across several poses for full pose mixing.
OGRE also has a compositing manager with a scripting language and full screen Video post-processing for effects such as HDR, blooming, saturation, brightness, blurring and noise. A particle system with extensible rendering and customizable effectors and emitters.
The libraries also feature memory debugging and loading resources from archives.
Google Summer of Code
OGRE got 6 slots in Google Summer of Code 2006 to enhance the existing engine and add new features to it. These entries were:
- Tool for one-step solution for artists
- RmOgreExporter (v2), FxOgreExporter
- Instancing, Crowd Rendering
- Extending, Demo-ing, and Documenting the Shadow Mapping System
- Scene Management
- Billboard Clouds
In the following years, many other Google Summer of Code projects have been realized for the Ogre engine.
The version branch names, 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, 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.
A brief history of OGRE, and its milestones:
- 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 24, 2013
- Ogre 1.9 "Ghadamon" is officially released
OGRE ports 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.
Notable games and applications using OGRE
Open-source games and simulations
Games with proprietary licenses
- Ankh: Battle of the Gods
- Ankh: Heart of Osiris
- Dead Hungry Diner
- Earth Eternal
- Garshasp: The Monster Slayer
- Jack Keane
- Next Life
- Pacific Storm
- Running with Rifles
- Salvation Prophecy
- 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.
- 3D computer graphics software
- CEGUI The unofficial GUI 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
- Irrlicht Engine
- Visualization Library
- Licensing FAQ
- "SourceForge: Project of the Month".
- FreshPorts- ogre3d 1.8.1
- "The source code release comes with a plugin for Direct3D 11 (OGRE 1.8.0)".
- "OGRE’s Latest Release Features Google Summer of Code Projects".
- Kapoulkine, Arseny (28 March 2014). "Farewell to the OGRE: The New ROBLOX Rendering Engine is Here". ROBLOX Corporation. Retrieved 18 July 2014.
- 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.|
- Official website
- OGRE on Bitbucket
- Ogre Engine at Indie DB
- 3D Engine: OGRE at MobyGames
- OGRE on SourceForge.net