OGRE
Encyclopedia
OGRE is a scene-oriented, flexible 3D rendering engine (as opposed to a game engine
Game engine
A game engine is a system designed for the creation and development of video games. There are many game engines that are designed to work on video game consoles and personal computers...

) written in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 designed to make it easier and intuitive for developers to produce applications utilizing hardware-accelerated 3D graphics
3D computer graphics
3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...

. The class library abstracts the details of using the underlying system libraries like Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

 and OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

 and provides an interface based on world objects and other high level classes.

OGRE has a very active community, and was SourceForge
SourceForge
SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...

's project of the month in March 2005. It has been used in some commercial games such as Ankh, Torchlight
Torchlight
Torchlight is an action role-playing game developed by Runic Games and published by Perfect World, released for Windows in October 2009. The fantasy-themed game is set in the fictional town of Torchlight and the expansive caverns and dungeons nearby, which adventurers explore to collect valuable...

and Garshasp.

1.0.0 ("Azathoth
Azathoth
Azathoth is a deity in the Cthulhu Mythos and Dream Cycle stories of H. P. Lovecraft and other authors. Its epithets include Nuclear Chaos, the Daemon Sultan and the Blind Idiot God.-Inspiration:...

") was released in February 2005. The current release in the 1.x.y series is 1.7.3 ("Cthugha
Cthugha
Cthugha is a fictional deity in the Cthulhu Mythos genre of horror fiction, the creation of August Derleth. He first appeared in Derleth's short story "The House on Curwen Street" .-Description:...

"), released on May 8th, 2011. Released under the terms of the MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

 and previously under a modified GNU Lesser General Public License
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

 (LGPL), the engine is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

. The modification to this license allows users to statically link the library under the same terms as dynamic linking, though a distinction made by the LGPL.

General information

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.

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 and allows the OGRE development team to focus on graphics rather than distribute their efforts amongst several systems. OGRE explicitly supports the OIS, SDL
Simple DirectMedia Layer
Simple DirectMedia Layer is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices....

 and CEGUI
CEGUI
Crazy Eddie's GUI system is a graphical user interface C++ library. It is designed particularly for the needs of videogames, but the library is usable for non-game tasks...

 libraries, and includes the Cg toolkit.

As of version 1.7.0 Ogre is released under the terms of the MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

. Earlier versions of OGRE was published under a dual license (one being LGPL
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

, the other one called OGRE Unrestricted License (OUL)), to make it possible to be chosen for console development as well, because for most of the publishers copyleft
Copyleft
Copyleft is a play on the word copyright to describe the practice of using copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work...

 license terms are unacceptable.

Features

OGRE has an object-oriented
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

 design with a plugin architecture that allows easy addition of features, thus making it highly modular.

OGRE is a scene graph
Scene graph
A scene graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games. Examples of such programs include Acrobat 3D, Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, OpenSG, VRML97, and X3D....

 based engine, with support for a wide variety of scene managers, most notably octree
Octree
An octree is a tree data structure in which each internal node has exactly eight children. Octrees are most often used to partition a three dimensional space by recursively subdividing it into eight octants. Octrees are the three-dimensional analog of quadtrees. The name is formed from oct + tree,...

, BSP
Binary space partitioning
In computer science, binary space partitioning is a method for recursively subdividing a space into convex sets by hyperplanes. This subdivision gives rise to a representation of the scene by means of a tree data structure known as a BSP tree.Originally, this approach was proposed in 3D computer...

 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
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

 and Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

 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
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, and all major versions of Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

.

OGRE also supports Vertex and Fragment programs along with custom shaders written in GLSL
GLSL
OpenGL Shading Language , is a high-level shading language based on the syntax of the C programming language...

, HLSL, Cg and assembler
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

.

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
Compositing
Compositing is the combining of visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene. Live-action shooting for compositing is variously called "chroma key", "blue screen", "green screen" and other names. Today,...

 manager with a scripting language
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

 and full screen Video post-processing
Video post-processing
The term post-processing is used in the video/film business for quality-improvement image processing methods used in video playback devices, , and video players software and transcoding software...

 for effects such as HDR
High dynamic range rendering
In 3D computer graphics, high dynamic range rendering , also known as high dynamic range lighting, is the rendering of computer graphics scenes by using lighting calculations done in a larger dynamic range. This allows preservation of details that may be lost due to limiting contrast ratios...

, blooming
Bloom (shader effect)
Bloom is a computer graphics effect used in computer games, demos and high dynamic range rendering to reproduce an imaging artifact of real-world cameras. The effect produces fringes of light around very bright objects in an image, obscuring fine details...

, saturation, brightness, blurring and noise. A particle system
Particle system
The term particle system refers to a computer graphics technique to simulate certain fuzzy phenomena, which are otherwise very hard to reproduce with conventional rendering techniques...

 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
3D Studio Max
Autodesk 3ds Max, formerly 3D Studio MAX, is for making 3D animations. It was developed and produced by Autodesk Media and Entertainment. It has modeling capabilities, a flexible plugin architecture and can be used on the Microsoft Windows platform. It's frequently used by video game developers, TV...

, Maya
Maya (software)
Autodesk Maya , commonly shortened to Maya, is 3D computer graphics software that runs on Microsoft Windows, Mac OS and Linux, originally developed by Alias Systems Corporation and currently owned and developed by Autodesk, Inc. It is used to create interactive 3D applications, including video...

, Blender
Blender (software)
Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. The current release version is 2.60, and was released on October 19, 2011...

, LightWave
LightWave
LightWave 3D is a high end computer graphics program developed by NewTek. The latest release of LightWave runs on Windows and Mac OS X.- Overview:...

, Milkshape, Sketchup
SketchUp
SketchUp is a 3D modeling program marketed by Google and designed for architectural, civil, and mechanical engineers as well as filmmakers, game developers,...

 and more.

A full overview of the features provided by OGRE can be found the OGRE3d website.

Google Summer of Code

OGRE got 6 slots in Google Summer of Code
Google Summer of Code
The Google Summer of Code is an annual program, first held from May to August 2005, in which Google awards stipends to hundreds of students who successfully complete a requested free or open-source software coding project during the summer...

 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
    Geometry instancing
    In real-time computer graphics, geometry instancing is the practice of rendering multiple copies of the same mesh in a scene at once. This technique is primarily used for objects such as trees, grass, or buildings which can be represented as repeated geometry without appearing unduly repetitive,...

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

Version naming

The version branch names, Hastur
Hastur
Hastur is a fictional entity of the Cthulhu Mythos. Hastur first appeared in Ambrose Bierce's short story "Haïta the Shepherd" as a benign god of shepherds. Robert W...

 for 0.15.x, Azathoth
Azathoth
Azathoth is a deity in the Cthulhu Mythos and Dream Cycle stories of H. P. Lovecraft and other authors. Its epithets include Nuclear Chaos, the Daemon Sultan and the Blind Idiot God.-Inspiration:...

 for 1.0.x, Dagon
Dagon
Dagon was originally an Assyro-Babylonian fertility god who evolved into a major northwest Semitic god, reportedly of grain and fish and/or fishing...

 for 1.1.x and 1.2.x, Eihort for 1.3.x and 1.4.x, Shoggoth
Shoggoth
A shoggoth is a fictional monster in the Cthulhu Mythos. The being was mentioned in passing in sonnet XX of H.P...

 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
Cthulhu Mythos
The Cthulhu Mythos is a shared fictional universe, based on the work of American horror writer H. P. Lovecraft.The term was first coined by August Derleth, a contemporary correspondent of Lovecraft, who used the name of the creature Cthulhu - a central figure in Lovecraft literature and the focus...

 of H. P. Lovecraft
H. P. Lovecraft
Howard Phillips Lovecraft --often credited as H.P. Lovecraft — was an American author of horror, fantasy and science fiction, especially the subgenre known as weird fiction....

.

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
Azathoth
Azathoth is a deity in the Cthulhu Mythos and Dream Cycle stories of H. P. Lovecraft and other authors. Its epithets include Nuclear Chaos, the Daemon Sultan and the Blind Idiot God.-Inspiration:...

" 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
Ankh (computer game)
Ankh: The Tales of Mystery is the first game in a series by Germany-based computer game developer, Artex Software. It was released in 1998 on the Acorn Archimedes, and is a graphical adventure set in ancient Egypt....

 is released as the first commercial product using Ogre
May 7, 2006: Ogre 1.2 "Dagon
Dagon
Dagon was originally an Assyro-Babylonian fertility god who evolved into a major northwest Semitic god, reportedly of grain and fish and/or fishing...

" is officially released
March 25, 2007 : Ogre 1.4 "Eihort" is officially released
August 28, 2008 : Ogre 1.6 "Shoggoth
Shoggoth
A shoggoth is a fictional monster in the Cthulhu Mythos. The being was mentioned in passing in sonnet XX of H.P...

" is officially released (Currently 1.6.5 Stable Release)
February 28, 2010 : Ogre 1.7 "Cthugha" is officially released (Currently 1.7.3 Stable Release)

OGRE ports and wrappers

There exist a number of OGRE bindings to other languages and frameworks including Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

, PureBasic
PureBasic
PureBasic is a commercially distributed procedural computer programming language and integrated development environment based on BASIC and developed by Fantaisie Software for Windows 32/64-bit, Linux 32/64-bit, and Mac OS X. An Amiga version is available, although it has been discontinued and...

, Python-Ogre for Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, Ogre.rb for Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

, Ogre4j
Ogre4j
ogre4j is a project that enables usage of the OGRE engine library within Java applications. The main goal is to provide access to every public interface of the library to Java developers.-External links:**** - Former home of ogre4j*...

 for Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 and OgreDotNet, GMOGRE for Game Maker
Game Maker
GameMaker is a Windows and Mac IDE originally developed by Mark Overmars in the Delphi programming language. It is currently developed and published by YoYo Games, a software company in which Overmars is involved...

 and MOGRE for .NET.

Axiom Engine is a C# port
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...

 of OGRE. It is open-source
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

 and cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

, for .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 and Mono
Mono (software)
Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....

. It provides complete abstraction from the 3D API, supports OpenGL, DirectX and XNA, contains a scene graph model and provides support for complex shaders. Multiverse Network
Multiverse Network
The Multiverse Network, Inc. is an American startup company creating a network and platform for Massively Multiplayer Online Games and 3D virtual worlds...

is a project which uses Axiom.

The are also some free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 level editors for Ogre, like Ogitor

Open-source games

  • WorldForge
    WorldForge
    The WorldForge project is producing an open source framework for massively multiplayer online role-playing games. The intent lies in creating a widely used development framework and set of libraries by motivating interested developers to improve on the original code.-History:The WorldForge Project...

    Ember 3D client
  • Rigs of Rods
    Rigs of Rods
    Rigs of Rods is an open source, freeware, multi-simulation game which uses soft-body physics to simulate the motion and deformation of trucks. The game is built using a specific soft-body physics engine called Beam, which simulates a network of interconnected nodes and gives the ability to...

  • Awakened
  • Walabers Trampoline
  • Facade
  • Trinity Reign
  • Summoning Wars

Games with proprietary licenses

  • Ankh
    Ankh (computer game)
    Ankh: The Tales of Mystery is the first game in a series by Germany-based computer game developer, Artex Software. It was released in 1998 on the Acorn Archimedes, and is a graphical adventure set in ancient Egypt....

  • Ankh: Heart of Osiris
    Ankh: Heart of Osiris
    Ankh: Heart of Osiris is the third game in the Ankh series of computer games. It was released in Germany on October 30, 2006, and was released in the United Kingdom on May 18, 2007. The game contains three playable characters: Assil, Thara and the Pharaoh.-External links:**...

  • Earth Eternal
    Earth Eternal
    Earth Eternal is a graphical massively multiplayer online role-playing game currently in open beta that was created by Sparkplay Media, and soon to be re-published by Sankando. It was first announced on January 10, 2007, and was released for Open Beta on Oct. 7, 2009. It is free to play with...

  • Garshasp: The Monster Slayer
    Garshasp: The Monster Slayer
    Garshasp: The Monster Slayer is a third person action-adventure video game developed by Dead Mage Inc. for Microsoft Windows and Linux. The story and the game are based on the adventures of the mythological Persian monster-slayer Garshasp...

  • Jack Keane
    Jack Keane (video game)
    Jack Keane is a 2007 adventure game developed by Deck13 Interactive, published by 10tacle Studios, and digitally distributed by Legacy Interactive. Jack Keane is an adventure game in the spirit of Monkey Island, with references to well-known computer games and classic movies...

  • Motorm4x
  • Next Life
    Next Life
    This article is about an adventure game. For the norwegian band, see Next Life .Next Life is an adventure game published by The Adventure Company designed for Microsoft Windows-based computers....

  • Nimbus
  • Pacific Storm
    Pacific Storm
    Pacific Storm is a strategic and tactical game of the Pacific war set in World War II, released by Buka Entertainment.-Gameplay:In the game, players are able to act as a supreme commander, which handles research, ship and plane design, production, troop deployment, and many other things. As a...

  • Raindrop
  • Roblox
    Roblox
    Roblox is a massively multiplayer online game virtual playground and workshop designed for children aged 7 and over. Players can build games with blocks of various shapes, sizes, and materials. Roblox users can code the places they design with a restricted and sandboxed version of Lua 5.1...

  • Snakeworlds
  • The Dead Linger (TDL)
  • Torchlight
    Torchlight
    Torchlight is an action role-playing game developed by Runic Games and published by Perfect World, released for Windows in October 2009. The fantasy-themed game is set in the fictional town of Torchlight and the expansive caverns and dungeons nearby, which adventurers explore to collect valuable...

  • Venetica
    Venetica
    Venetica is a fantasy-themed role-playing video game. The game was developed by Deck13 and published by DTP Entertainment.-Plot:The story of Venetica takes place in a 16th century styled world where Death is a physical being. Death follows the instructions of a group known as Corpus. Every...

  • Zero Gear
    Zero Gear
    Zero Gear is a racing game developed and published by NimbleBit. In the game the player controls a kart and tries to finish first trying to make the other players fail by using weapon pick-ups...

  • Zombie Driver
    Zombie Driver
    Zombie Driver is a vehicular combat PC video game. Set in a zombie apocalypse setting, where a major chemical accident / secret government project turned the inhabitants of a whole city into shambling, aggressive opponents, the player must undertake various missions to rescue civilians, slaughter...


See also

  • 3D computer graphics software
    3D computer graphics software
    3D computer graphics software refers to programs used to create 3D computer-generated imagery. This article covers only some of the software used.-Uses:...

  • CEGUI
    CEGUI
    Crazy Eddie's GUI system is a graphical user interface C++ library. It is designed particularly for the needs of videogames, but the library is usable for non-game tasks...

     The unofficial GUI
    Graphical user interface
    In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

     toolkit
    Widget toolkit
    In computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...

     for OGRE.
  • Irrlicht Engine
    Irrlicht Engine
    Irrlicht is an open source 3D engine written in C++. It is cross-platform, officially running on Windows, Mac OS X, Linux and Windows CE and due to its open nature ports to other systems are available, including Xbox, PlayStation Portable, SymbianOS and iPhone.Irrlicht is known for its small size...

  • OpenSceneGraph
    OpenSceneGraph
    OpenSceneGraph is an open source 3D graphics application programming interface, used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modeling....

  • SpeedTree
    SpeedTree
    SpeedTree is a group of vegetation programming and modeling software products developed and sold by Interactive Data Visualization, Inc. that generates virtual foliage for animations and in real time for video games and simulations...

  • Visualization Library
    Visualization Library
    Visualization Library is an open source C++ middleware for 2D/3D graphics applications based on OpenGL 4, designed to develop portable applications for the Microsoft Windows, GNU/Linux/X11 and Mac OS X operating systems.-Design goals:...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK