Irrlicht Engine

Irrlicht 3D Engine
開発元 Nikolaus Gebhardt 他
最新版
1.8.4 / 2016年7月9日 (7年前) (2016-07-09)
リポジトリ
  • sourceforge.net/p/irrlicht/code
ウィキデータを編集
プログラミング
言語
C++
対応OS Microsoft WindowsLinuxmacOSWindows CE
種別 アプリケーションフレームワーク
ライセンス zlib License
公式サイト http://irrlicht.sourceforge.net/
テンプレートを表示

Irrlicht Engine(イルリヒト・エンジン)は、C++で書かれたオープンソースの3次元ゲームエンジン。公式にも WindowsmacOSLinuxWindows CE とクロスプラットフォームで動作し、そのオープンな性質からXboxやPlayStation Portable[1]Symbian OS[2]iPhone[3]Google Native Client[4]にも移植されている。

Irrlichtは、オブジェクトが小さく、各種ハードウェアへの移植性・互換性が高く、学習が容易で、コミュニティ[5][6]が活発である。非公式の各種言語バインディングにより、.NET[7]Java[8]Perl[9]Ruby[10]Python[11]FreeBASICLua[12]Delphi[13][14]C++ Builder[15]AutoIt[16]Game Maker[17] などに対応している。

Irrlichtの開発は2003年に Nikolaus Gebhardt がたった1人で始めた[18]。2006年に 1.0 をリリースすると、開発チームは10人となった[19]

機能・特徴

Irrlichtは、OpenGLDirectX 8 および 9、内部のソフトウェアラスタライザ経由での3次元グラフィックスのレンダリングをサポートしている。外部レンダラーやウィンドウシステムは単純なインタフェースでプラグインでき、それによってSDLiPhoneSymbian OS への対応がコミュニティでなされた。エンジンには標準的なマテリアルレンダラーのライブラリが付属しており、ユーザーのハードウェアが処理できない高度な技法を使っている場合に代替マテリアルを提供できる。新たなマテリアルは実行時にエンジンに追加でき、ユーザー独自のマテリアルを好きなように追加可能である。従来からの固定機能パイプラインのマテリアルに加え、プログラマブルなピクセルシェーダーとバーテックスシェーダー(1.1 から 3.0)、ARBフラグメント/バーテックスプログラム、HLSL、CgおよびGLSLマテリアルをサポートしている。

Irrlichtでのピクセル単位照明

Irrlichtは豊富なファイルフォーマットをサポートしている。3ds Max のファイル、Quake 2 MD2 モデル、Maya .obj オブジェクト、Quake 3 .bsp マップ、MilkShape 3D のオブジェクト、DirectXの .x ファイルなどをロードし表示できる[20]。さらなる3Dフォーマットは外部プラグインでサポートしている。照明、カメラ、3Dオブジェクトは 'Scene Nodes' と呼ばれる木構造として、汎用アニメータで管理されるか、ノードが相互に管理するか、ユーザーが手動で操作する。組み込みの各種ノード型があり、それらを利用して複雑なシーンを描くことができ、新たなノード型を実行時に追加することも容易で、追加ノード型はコミュニティからも供給されている。組み込みのノード型としては、屋外シーン描画用の地形レンダラーや天球、屋内シーン描画用のBSP、骨格ベースのアニメーション用メッシュ、ステンシルシャドウ、ビルボードシステムやパーティクルシステム、水面などがある。

スキンを設定可能な2DGUIがあり、ユーザーは実行時に独自(またはコミュニティ製)のウィジェットをプラグインして使うことができる。Irrlichtのイベントシステムはマウス、キーボード、ジョイスティック、GUIイベントなどを直接扱うことができ、別のライブラリを必要としない。

ファイルシステムアクセスはプラットフォームに依存しないようファイルとフォルダに抽象化されていて、Zipアーカイブ内のファイルにも透過的にアクセスできる。その他の入出力関連機能としては、XMLの読み書き、スクリーンショットをとる機能、画像やメッシュの操作機能、各種ファイルフォーマットでのセーブ機能がある。

Irrlichtは単純な衝突検出機能をサポートしているが、完全な物理演算エンジンの代替として利用することは推奨されていない。

拡張

そのオープン性から多くのプログラマや開発者がIrrlicht用ワールドエディタを開発している。Irrlichtには、現在のシーンをXMLファイルとしてロード/セーブする機能がある。作者である Nikolaus Gebhardt の会社 Ambiera が開発したワールドエディタとして irrEdit[21] がある。まだ初期のベータ版ながら、IrrEditには強力なラジオシティライトマップ生成器とSquirrelスクリプトを使ったインタフェースがあり、Irrlichtを強力にサポートする。他にも Sourena 3D World Editor などが開発中である。

Irrlichtは音声をサポートしていないため、AmbieraはIrrlichtと連携して使用する音声ライブラリ irrKlang も開発している。irrKlang対応のDLLをirrEditで使うことができ、同等の音声をirrEditでもサポートできる。

他にもAmbieraはIrrlichtのXMLパーサ irrXML も開発している。

その他の拡張は関連するコミュニティのサイトなどにある。

関連項目

  • OGRE
  • OpenSceneGraph
  • Panda3D(英語版)
  • Delta3D(英語版)
  • CrystalSpace(英語版)
  • Visualization Library(英語版)

脚注・出典

  1. ^ LTE Game Engine
  2. ^ Irrlicht For S60
  3. ^ Announcement about Irrlicht on iPhone
  4. ^ “Irrlicht on Google Native Client”. Irrlicht.sourceforge.net. 2012年6月4日閲覧。
  5. ^ Irrlicht support forum
  6. ^ Chat on Irrlicht (IRC)
  7. ^ Irrlicht.Net Cross Platform Project Page
  8. ^ Jirr: Irrlicht for Java
  9. ^ Irrlicht for Perl
  10. ^ IrrRuby
  11. ^ Venom: Irrlicht wrapper for Python
  12. ^ IrrLua, A Lua front end to Irrlicht
  13. ^ Irrlicht 4 Delphi
  14. ^ IrrPascal
  15. ^ cppbIrrlicht
  16. ^ “Au3irrlicht”. Irrlicht3d.org (2010年9月7日). 2011年11月13日閲覧。
  17. ^ GMIrrlicht
  18. ^ Interview with the Irrlicht founder
  19. ^ Development team members
  20. ^ Irrlicht features on Freashmeat
  21. ^ Official website of the irrEdit Scene editor

外部リンク

  • 作者のブログ
  • Irrlicht Engine Wiki at irrlicht3d.org
  • DevMaster.net details and reviews of Irrlicht
  • ドイツのコンピュータ雑誌でのレビュー(ドイツ語)
  • 南アフリカのゲーム開発雑誌での記事
  • Java での Irrlicht 利用についての連載記事
  • 3-D Graphics Programming with Irrlicht Linux Journal, April 2009
  • Irrlicht A GoGO 初心者向けの日本語の解説サイト。現在更新が止まっている。
  • ARCANA 日本語対応独自ビルド配布サイト
  • Irr Lesson ステップアップ式で学ぶ日本語の解説サイト
フリーまたは
オープンソース
2D
2.5D
3D
Mix
プロプライエタリ
2D
3D
Mix
プロプライエタリ
ゲームエンジン・ミドルウェア
  • Havok