OGRE 3D
From Wikipedia, the free encyclopedia
OGRE (Object-Oriented Graphics Rendering Engine) | |
Developer: | The OGRE Team |
---|---|
Latest release: | 1.4.0 (Eihort) / February 11, 2007 |
Platform: | Cross-platform |
Use: | 3D graphics engine |
License: | LGPL |
Website: | www.ogre3d.org |
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D rendering engine (as opposed to game engine) written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.
The engine is licensed under the LGPL and as a result has a very active community. It has been used in some commercial games. It was Sourceforge's project of the month in March 2005.
1.0.0 "Azathoth" was released in February 2005, the current release in the 1.x.y series is 1.4.0 "Eihort" (February 2007).
Contents |
[edit] General Information
As its name states, OGRE is "just" a rendering engine. As thus, its main purpose is to provide a general solution for graphics rendering. Though it also comes with some facilities (vector and matrix classes, memory handling, et cetera) they must be thought as helpers only. People looking for a one-for-all solution in terms of game development or simulation applications should think twice, as it doesn't provide audio or physics support, for instance.
Generally, this is thought of as the main drawback of OGRE, but it could also be seen as a feature of the engine. The choice of OGRE as a graphics engine allows developers the freedom to use whatever physics, input, audio and other libraries they want.
Currently OGRE is published under a dual license (one being LGPL, the other a closed one called OGRE Unrestricted License (OUL)), to make it possible to be chosen for console development as well, because most of the publishers reject using open-source software in that particular market.
[edit] Features
OGRE has an object oriented design with a powerful plugin architecture allowing easy addition of features.
OGRE is a scene graph based engine, and with support of a wide variety of scene managers, most notably Octree, BSP and a Paging Landscape scene manager.
OGRE is fully multi-platform, with OpenGL and Direct3D support. Currently pre-compiled binaries exist for Linux, Mac OS X, and all major versions of Windows.
OGRE also supports Vertex and Fragment programs along with custom shaders written in GLSL, HLSL, Cg and asm.
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 postprocessing 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.
There are content exporter tools available for most 3D modelers around including 3D Studio Max, Maya, Blender, LightWave, Milkshape, Sketchup and more.
A full overview of the features provided by OGRE can be found here.
[edit] 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:
- 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
[edit] Major 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.
[edit] History
A brief history of OGRE, and its milestones:
- 1999ish
- 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
- February 11, 2007
- Ogre 1.4 "Eihort" is officially released
[edit] Ogre ports and wrappers
There is a number of Ogre ports to other languages and frameworks including PyOgre for Python, Ogre4j for Java and for .NET platform there are OgreNet and MOGRE.
Ogre being a rendering system is included in a number of Game engines:
[edit] Projects using Ogre
[edit] Commercial
[edit] See also
- CEGUI The unofficial GUI toolkit for OGRE.
- 3D computer graphics software