"Splatting Indirect Illumination"の概要

今回は"Splatting Indirect Illumination" の論文を読みましたので, その概要について簡単に書きます.

  • "Splatting Indirect Illumination", Carsten Dachsbacher, Marc Stamminger. In Proceedings of the Symposium on Interactive 3D Graphics and Games, 93-100, 2006.

一言で言うと, "Reflective Shadow Maps"を改良して, 遅延シェーディングの方式によってより効率的に間接光の照明計算を行う方法です.

"Reflective Shadow Maps" では, 点光源から他のジオメトリによって遮蔽されないpixelを全て, 表面を1回反射した小さい間接光を放射する光源とみなして, ピクセルシェーダでそれらの間接光の光源をサンプリングして, 間接光による照明の寄与を計算していました.

この手法の欠点は, ピクセルシェーダで Reflective Shadow Maps から受ける間接光を集める gathering 方式であるため, 計算量が多く, また良い結果を得るために必要な間接光の数が多くなってしまうことです.

そこで, "Splatting Indirect Illumination" では, 間接光が与える影響の範囲を表した AABB(Axis-Aligned Bounding-Box)の形状の薄い平板 "splat" や 楕円体を描画して, "Reflective Shadow Maps" で使っていたのと同じ間接光の照明計算の式によって, それが与える照明の寄与をピクセルシェーダによって計算します.

この「光源の影響範囲を表したジオメトリの描画を行って照明計算を行う」ところが, "遅延シェーディング" 遅延シェーディング ”Deferred Shading Tutotrial”の概要 - OLD hanecci’s blog : 旧 はねっちブログ の手法です.

( 論文"Image Space Photon Mapping" でも同様の手法が使われています. 論文"Image Space Photon Mapping"の概要 - OLD hanecci’s blog : 旧 はねっちブログ )

また間接光のサンプリングを行う際には, 階層的な重点サンプリングを用いているらしいです.