NVIDIAが最新のゲームテクノロジーを紹介する報道関係者向けテクニカルセッション「Technologies in Games of Tomorrow」を開催。間接光を再現するグローバルイルミネーションについての技術解説が行なわれた。ここではその内容をお伝えしよう。
グローバルイルミネーション
グローバルイルミネーション(大域照明)とは、物体に反射する間接光などといった拡散光を正確に計算するレンダリング技法だ。間接光が再現されると、3DCGのリアルさが格段に増すため、NVIDIAもこのグローバルイルミネーションには力を入れているというわけだ。
グローバルイルミネーションを再現するレンダリング技法として、古くからラジオシティなどが存在しているが、動く物体をリアルタイムで演算することは困難だった。2010年には新たな技法「Light Propagation Volumes」が確立されるが、間接光がどの方向から当たっているのかの情報は持っていなかった。
これらを解決した最新の技法が「Sparse Voxel Octree」だ。これはvoxelと呼ばれる3次元空間を8つに分割し、それを階層化した8分木構造(octree)にする仕組みとなっている。
どのように直接光が当たっているのかを、まず最上層のvoxelに書き込み、階層化された下層のoctreeに送る。今度は反射光の情報を下層から上層のoctreeに送り、それをレンダリングすることで、どこから間接光を浴びているかを計算する。
この演算をすべてGPUが処理することで、高速な描画をリアルタイムで可能にしているのだ。これには膨大なメモリーを必要とするが、必要のない空間には細かな階層を作らないことでメモリー使用量を抑え、現実的なメモリー容量での演算を実現しているという。
「Unreal Engine 4」で体感する
Sparse Voxel Octreeの威力
技術解説のあとは、エピック・ゲームズ・ジャパンが新ゲームエンジン「Unreal Engine 4」を披露した。Unreal Engine 4には前述のSparse Voxel Octreeが使われており、その効果を実演するリアルタイムデモを行なった。
なお、Unreal Engine 4を採用した初のゲーム「Fortnite」をエピック・ゲームズで現在開発中とのこと。発売日は未定だが、Unreal Engine 4のグローバルイルミネーションを堪能できる日はそう遠くないはずだ。