# OGRE

Die Object-Oriented Graphics Rendering Engine (kurz OGRE [ˈoʊgɚ], Englisch für Oger) ist eine freie, in C++ geschriebene 3D-Engine. Unterstützt werden die gängigen Betriebssysteme Windows, Linux, macOS und iPhone OS (ab Version 1.7).

## Funktionsumfang

OGRE versteht sich als reine Grafikengine für Computerspiele ohne die Integration von Physik- oder Spiel-Mechaniksimulation, wobei sich diese über Erweiterungen (engl.: „plugins“ oder „addons“) nachrüsten lässt. Eine Bibliothek für Benutzereingaben über Maus, Tastatur und Joystick, die von den Beispielprogrammen verwendet wird, wird jedoch mitgeliefert.
Die frei verfügbare Programmbibliothek bietet einen Szenengraphen und unterstützt die gängigen Grafikschnittstellen OpenGL (Windows, Linux und Mac OS X) sowie für Windows auch DirectX in den Versionen 9 und 11. OGRE bietet dabei dem Entwickler Hilfe bei der Entwicklung neuerer Techniken wie Vertex- oder Pixelshader, Normalmapping oder Verarbeitung von BSP-Daten. Sämtliche Details der Systembibliotheken werden dabei in einer Klassenstruktur abstrahiert.
Dem Programmpaket liegen Dokumentationen und Beispiele bei. Eine Community unterstützt das Projekt und entwickelt es kontinuierlich weiter. Entwickler werden gebeten, ihre eigenen Modifikationen an der Engine an das Projekt zurückzuführen, um so weitere Funktionen integrieren zu können. Eine Plug-in-Struktur wurde dafür ebenfalls geschaffen.

## Geschichte

Der Quellcode steht unter der MIT-Lizenz (bis Version 1.6.x unter modifizierter GNU Lesser General Public License). Seit 2006 wird OGRE durch den Google Summer of Code gefördert. Die neueste Version hat für Windows bereits ein DirectX11-Render-System.
Heutzutage besteht Ogre aus zwei unabhängig voneinander entwickelten Forks, nämlich Ogre (auch: Ogre1), welches auf der ursprünglichen 1.x-Codebasis basiert, und Ogre-Next, welches die 2.x-Entwicklungsbemühungen fortführt.
Es gibt einige kommerzielle Produkte mit OGRE als Engine:
| Jahr | Spiele | Genre | Entwickler |
| 2017 | Hob | Action-Adventure | Runic Games |
| 2016 | Scrap Mechanic | Open-World-Spiel | Axolot Games |
| 2015 | Rebel Galaxy | Actionspiel | Double Damage Games |
| 2015 | Running with Rifles | Actionspiel | Osumia Games |
| 2012 | Torchlight 2 | Hack ’n’ Slay | Runic Games |
| 2011 | Garshasp | Actionspiel | Dead Mage Studio |
| 2011 | Haunted | Adventure | Deck13 |
| 2011 | The Book of Unwritten Tales: Die Vieh Chroniken | Adventure | King Art |
| 2011 | Dungeons – The Dark Lord | Strategiespiel | Realmforge Studios |
| 2011 | Dungeons | Strategiespiel | Realmforge Studios |
| 2010 | M.U.D. TV | Strategiespiel | Realmforge Studios |
| 2010 | Black Sails | Adventure | Deck13 |
| 2009 | Zombie Driver | Actionspiel | Exor Studios |
| 2009 | Earth Eternal | Rollenspiel | Sparkplay Media |
| 2009 | Torchlight | Hack ’n’ Slay | Runic Games |
| 2009 | The Book of Unwritten Tales | Adventure | King Art |
| 2009 | Ceville | Adventure | Realmforge Studios |
| 2008 | So Blonde | Adventure | DTP Entertainment |
| 2008 | MotorM4x | Rennspiel | DTP Entertainment |
| 2007 | Jack Keane | Adventure | Deck13 |
| 2006 | Pacific Storm | Strategiespiel | Lesta Studio |
| 2006 | Ankh: Herz des Osiris | Adventure | Deck13 |
| 2005 | Ankh | Adventure | Deck13 |
Zudem existieren weitere OGRE-basierte Anwendungen, Werkzeuge und Applikationen zur digitalen Inhaltserzeugung:
* Artifex Terra 3D Kostenloser WYSIWYG-3D-Terrain und World Editor. Open-Source-Szenenlader mit ETM, TSM, Ogre::Terrain und „Paged Grass“ Unterstützung.
* Ogitor Open-Source-Szeneneditor für OGRE.

## Wrapper und Übersetzungen

* MOGRE – .NET-Wrapper für C#, Visual Basic .NET
* Axiom – Übersetzung des OGRE-Kerns in C#
* ogre-python – Python-Wrapper
* Python-Ogre – Python-Wrapper wie PyOGRE (veraltet)
* PyOGRE – Python-Wrapper (veraltet)
* ogre4j – Java-Wrapper
* Lugre – Lua-Bindungen für OGRE und diverse Erweiterungen (Paged Geometry, Caelum, Cadune Tree)
* PureBasic: Seit Version 4.00 kommt PureBasic mit OGRE (somit sind auch keine Wrapper nötig)