OGRE

This article is about the graphics rendering engine. For other uses, see Ogre (disambiguation).
OGRE
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 (2013-11-24)
Preview release 2.1 / Made public in February 9, 2015 (2015-02-09)
Development status Active
Written in C++
Platform Cross-platform
Type Graphics rendering engine
License MIT[1]
Website www.ogre3d.org

Object-Oriented Graphics Rendering Engine (OGRE) is a scene-oriented, real-time, 3D rendering engine, as opposed to a game engine. It is written in C++ and is designed to make it easier to write programs that use hardware-accelerated 3D graphics. The class library abstracts from the underlying system libraries (Direct3D and OpenGL).

OGRE has an active community, and was SourceForge's project of the month in March 2005.[2] It has been used in some commercial games such as Ankh, Torchlight and Garshasp.

As of 2012, OGRE has cross-platform support. As of 2015, it supports Linux, Windows (all major versions), OS X, Google Native Client (NaCl), WinRT, Windows Phone 8, iOS and Android. An unofficial FreeBSD port is maintained by the FreeBSD community.[3]

Version 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,[1] 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, through a distinction made by the LGPL.

General information

OGRE is a rendering engine. As such, its main purpose is to provide graphics rendering; though 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 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.[1] Earlier versions of OGRE were 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.

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.

OGRE is cross-platform, and can use OpenGL and Direct3D. It renders the same content on different platforms without the content creator having to take into consideration the different capabilities of each platform. Currently, pre-compiled binaries exist for Linux, OS X, and all major versions of Windows. Both a FreeBSD binary package and a port are made available unofficially by the FreeBSD community.

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.

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 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.

The libraries also feature memory debugging and loading resources from archives.

OGRE has an object-oriented design with a plugin architecture that allows addition of features, thus making it highly modular.

There are content exporter tools available for most 3D modelers around including 3D Studio Max, Maya, Blender, LightWave, Milkshape, Sketchup and more.

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:

In the following years, many other Google Summer of Code projects have been realized for the OGRE engine.[4]

Version naming

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.

Release history

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 other programs using it

Open-source games and simulations

Games with proprietary licenses

See also

References

Further reading

External links

Wikimedia Commons has media related to OGRE.
This article is issued from Wikipedia - version of the Sunday, January 17, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.