OGRE

OGRE ("Object-Oriented Graphics Rendering Engine") は、シーン指向の柔軟な3次元レンダリングエンジンで、ハードウェアアクセラレーションを活用した3Dグラフィックスのアプリケーションを容易に開発できるよう設計されC++で書かれている。Direct3DやOpenGLなどの下位のシステムライブラリの詳細を抽象化したクラスライブラリであり、ワールドオブジェクトなどの高度なクラスに基づくインタフェースを提供する。
OGREのコミュニティは活発で、2005年3月にはSourceForge.netで Project of the Month となった。などの商用ゲームでも使われている。
1.0.0 ("Azathoth") は2005年2月にリリースされた。現在リリースされている 1.x.y シリーズは 1.7.2 ("Cthugha") で2010年11月にリリースとなった。MIT License に変更されてリリースされており、フリーソフトウェアである。以前は、修正版 GNU Lesser General Public License でリリースされていた。ライセンスの修正は、LGPLで区別されているライブラリの静的リンクと動的リンクを区別しない（動的リンクの方に合わせて解釈する）という点である。
概要.
名前が示す通り、OGREは単なるレンダリングエンジンである。したがってグラフィックスのレンダリングに一般的な解決策を提供することを目的としている。それ以外の機能も付属しているが（ベクタークラス、マトリックスクラス、メモリ制御など）、それらはあくまでも補助的なものである。ゲーム開発やシミュレーションの道具がこれ1つで全て揃うわけではなく、音声や物理計算などは別に用意する必要がある。
この点がOGREの弱点と一般に言われているが、このエンジンの利点と見ることもできる。OGREをグラフィックスエンジンとして採用すると、開発者は物理計算、入力、音声といったライブラリを自由に選択でき、OGRE開発チームは各種システムに手間をかけることなくグラフィックスに集中できる。OGREは明示的に 、SDL、 ライブラリをサポートし、Cg ツールキットを含んでいる。
OGREは 1.7.0 から MIT License に変更されてリリースされている。それより前のバージョンではデュアルライセンス（LGPLと "OGRE Unrestricted License" (OUL)）で配布されている。これは、多くのゲーム機における開発ではフリー/オープンソースのソフトウェアの使用を禁じているため、LGPL以外のライセンスで開発に利用できるようにするためである。
機能・特徴.
OGREはオブジェクト指向設計であり、容易に機能を追加できるプラグインアーキテクチャとなっていて、モジュール性が高い。
OGREはシーングラフに基づくエンジンであり、各種シーンマネージャをサポートしている。主なものとしては、八分木、BSP、"Paging Landscape" といったシーンマネージャがあり、他にもポータルベースのシーンマネージャを開発中である。
OGREは各種プラットフォームに対応しており、OpenGLとDirect3Dをサポートしている。コンテンツ制作段階で各プラットフォームの機能を考慮しなくとも、異なるプラットフォームで同じコンテンツを描画できる。このため各種システム向けのゲームの開発の手間が改善される。今のところプリコンパイルされたバイナリ版は Linux、Mac OS X、Windowsの主なバージョン向けに存在している。
OGREは、GLSL、HLSL、Cg、アセンブラで書かれたカスタムシェーダーによる Vertex and Fragment プログラムもサポートする。
地形シーンマネージャは累進的LODをサポートし、累進的LODは自動または手動で生成できる。
アニメーションエンジンは、ハードウェアによる骨格の重み付けスキニングを完全サポートしている。
ORGEには合成マネージャもあり、スクリプト言語やフルスクリーンの後処理で、HDRレンダリング、ブルーミング、サチュレーション、明るさ、ぼかし、ノイズといったエフェクトをかけることができる。また、パーティクルシステムは各種エフェクタやエミッタでカスタマイズ可能である。
ライブラリにはメモリデバッグ機能もあり、アーカイブからリソースをロードすることもできる。
各種3Dモデラー向けのコンテンツエクスポートツールがあり、3D Studio Max、Maya、Blender、LightWave、Milkshape、SketchUpなどに対応している。
OGREの機能の概要全般はこちらにある。
Google Summer of Code 2006.
Google Summer of Code 2006 でOGREは6人を受け入れ、以下のような既存のエンジンの拡張や新機能の追加を行った。
メジャーバージョンの命名.
各バージョンのブランチ名は、「Hastur "ハスター"(0.15.x )」、「Azathoth "アザトース"(1.0.x )」、「Dagon "ダゴン"(1.1.xと1.2.x )」、「Eihort "アイホート"(1.3.xと1.4.x )」、「Shoggoth "ショゴス"(1.5.xと1.6.x )」、「Cthugha "クトゥグア"(1.7.x )」、「Byatis "バイアティス"(1.8.x )」、「Ghadamon "ガダモン"(1.9.x )」 となっており、H・P・ラヴクラフトのクトゥルフ神話に登場する架空の恐ろしい神々の名になっている。
OGREの移植およびラッパー.
OGREの他の言語やフレームワーク向けの各種バインディングが存在する。例えば、Perl、PureBasic、Python (Python-Ogre)、Ruby (Ogre.rb)、Java (Ogre4j)、.NET (OgreDotNet, MOGRE) などがある。