グローバル・イルミネーション
3次元コンピュータグラフィックスにおいてグローバル・イルミネーション (global illumination、GI、大域照明) とは、光エネルギーの大域的(大局的)な輸送を光学的・物理学的に正確に扱おうとするレンダリング技法のことである。より写実的な出力、つまり物理的に正しい出力を得ることを目的とする。
グローバル・イルミネーションを考慮しない従来の技法をローカル・イルミネーション (local illumination, 局所照明) という。
局所照明との比較
[編集]上記のシーンでは、向かって左側に赤色の壁、また向かって右側に緑色の壁が配置されている(ただし右側の壁自体は視点からは裏面となっているので、レンダリングはされていない)。
局所照明では、光源となりえるのはライトによる直接光だけであるが、大域照明においては壁や物体からの相互反射光が間接光として計算される。局所照明(古典的レイトレーシング)によるレンダリング例では、透過・屈折や反射、また床への映り込み、光源形状(矩形)のハイライトなどが再現されている一方で、直接光が届かない奥の壁や天井にある照明ボックスの陰影が表現できていない。一方、大域照明では、天井からの白色照明が右側の緑の壁に当たることで発生する「照り返しによる緑色の間接光」が奥の白い壁や手前の白い球体に反映されていることや、奥の壁の隅や天井の照明ボックスの隅などの奥まった部分に柔らかい影が発生するなど、間接光による陰影が再現できている。
さらに、初期のグローバル・イルミネーション技法であるラジオシティ法では単純な拡散反射しか扱えなかったが、フォトンマッピングをはじめとする手法によって、上記シーンのように、光を屈折させる球体による集光などを扱えるようになっている。上の例では、透明な球を光が透過・屈折した後で地面や壁に到達することによるコースティクス(集光模様)等が表現されていることが分かる。
意義・適用範囲
[編集]この節には独自研究が含まれているおそれがあります。 |
従来の、アーティストがライトを手作業で複数個配置して、地面や壁からの照り返しを再現するようなバッドノウハウともいえる手法に代わることが見込まれる。しかし、融通が効かないという批判もある[要出典]。以前はレンダリングに多くの計算機資源と時間を必要とするため、動画での使用は少数に留まっていた。
しかし近年(2010年頃~)[疑問点 ]では、コンピュータ(特にパーソナルコンピュータ)の急速な高速化・マルチコア化やメモリの大容量化が進み、またHDRIやイラディアンスキャッシュ、フォトンマップの計算方法の大幅な進歩により、逆に従来のレイトレーシング手法よりもはるかに高速にレンダリングが完了するようになった[要出典]。動画においても、一度光源を計算しシーン内に照度データを保存すれば、2フレーム目からは光の計算の必要がなくなるため、従来の方法よりはるかに有利になる。
手間やストレスの観点からも、手で光源の位置を操作し、何度もテストするといった手順が大幅に減るので、グローバルイルミネーションが優れている。
なお、映画産業で用いられるレンダリングソフトウェア(レンダラ)の代表格であるPIXAR RenderManなどでは、グローバルイルミネーションが標準搭載されている。Autodesk 3ds Max、Autodesk Maya、NewTek LightWaveなどの統合型3DCGソフトウェアも、グローバルイルミネーション機能を備えている。
おもな実現方法
[編集]リアルタイム・グローバルイルミネーション
[編集]ゲームやシミュレーションの分野で用いられるリアルタイムコンピュータグラフィックスでは、映画やCM、静止画におけるプロダクション用途の非リアルタイムコンピュータグラフィックスよりも遥かに計算資源や処理時間上の制約が強く、陰影計算はローカルイルミネーションベースのものが主流だった。しかし、DirectX 9.0c世代のプログラマブルシェーダーを備えたPC用グラフィックスカードや、Xbox 360/PlayStation 3といった高性能なゲーム機の出現以降は、算出に長時間を要する放射輝度伝搬を事前計算しておく擬似的な手法ではあるが、リアルタイム処理系でもグローバルイルミネーションが採用され始め、その後も技術は進歩し続けている。
2015年現在、DirectX 11世代のPC用グラフィックスカードの普及や、Xbox One/PlayStation 4といったさらに高性能な次世代ゲーム専用機の登場を受けて、多くのハイエンド環境向けゲーム(AAAタイトル)は、グローバルイルミネーション手法を何らかの形で採用しており、グラフィックスの写実性や現実感を高めている。ただし、依然として計算資源や処理時間上の制約が存在するため、アルゴリズムを大胆に簡略化した疑似手法が用いられることが多い。
リアルタイム処理系向けには下記のような手法が考案されている。
- Precomputed Radiance Transfer (事前計算済み放射輝度伝播、PRT) [2]
- Image Space Photon Mapping (ISPM) [3]
- Cascaded Light Propagation Volumes (Cascaded LPV) [4]
- Sparse Voxel Octree GI (SVO-GI, SVOGI) [5]
採用事例
[編集]- ゲーム
- ソニック ワールドアドベンチャー (HD版) [10]
- ソニック ジェネレーションズ (白の時空) [11]
- ソニック フォース[12]
- KILLZONE 2 [13]
- Halo 3 [14] [15]
- Battlefield 3 (Frostbite 2) [16] [17]
- Crysis 2 (CryENGINE 3) [18] [19]
この節の加筆が望まれています。 |
脚注
[編集]- ^ CG-ARTS教育リポート 日本と世界のCG教育のいまが見える
- ^ 事前演算済み放射輝度伝播 (Direct3D 9)
- ^ Hardware-Accelerated Global Illumination by Image Space Photon Mapping
- ^ "Cascaded Light Propagation Volumes for Real-Time Indirect Illumination", Anton Kaplanyan (Crytek GmbH), Carsten Dachsbacher (VISUS / University Stuttgart)
- ^ 4Gamer.net ― NVIDIAとEpicが「Unreal Engine 4」で採用された新世代グローバルイルミネーション技法を解説。その威力を直撮りムービーでチェックする
- ^ "An Approximate Global Illumination System for Computer Generated Films", Eric Tabellion, Arnauld Lamorlette, PDI/DreamWorks
- ^ Global illumination for PIXAR movie production
- ^ "Point-Based Global Illumination for Movie Production", Per H. Christensen
- ^ 【倉地紀子のデジタル映像最前線レポート】(2)3/3 映画「ターミネーター4」(09年公開、配給:ソニー・ピクチャーズ エンタテインメント、6/13(土)より丸の内ピカデリーほか配給) | Inter BEE Online | Online Magazine
- ^ 西川善司の3Dゲームファンのための「ソニック・ワールド・アドベンチャー」グラフィックス講座 - GAME Watch
- ^ セガ、PS3/Xbox 360「ソニック ジェネレーションズ」(仮称)。2つのスタイルで遊べる新旧ソニック夢の競演! - GAME Watch
- ^ SEGA | ソニックチャンネル | ソニックフォース | グラフィックスプログラムリーダー 大山貴輝
- ^ 西川善司の3Dゲームファンのための「KILLZONE 2」グラフィックス講座(前編) -GAME Watch
- ^ "GLOBAL ILLUMINATION IN GAMES", Nikolay Stefanov, PhD, Ubisoft Massive
- ^ GDC Vault - Lighting and Material of HALO 3
- ^ 4Gamer.net ― NVIDIA,「バトルフィールド3」のグラフィックス技術を解説。キモはグローバルイルミネーション
- ^ NVIDIA、PCゲームへの"リアルタイム"なglobal illumination実装など最新グラフィックス技術を紹介 | マイナビニュース
- ^ "Crysis 2 & CryENGINE 3; Key Rendering Features", Tiago Sousa, Principal R&D Graphics Engineer
- ^ "Light Propagation Volumes in CryEngine 3; Advances in Real-Time Rendering in 3D Graphics and Games Course - SIGGRAPH 2009", Anton Kaplanyan, CRYTEK