論文"Approximating Dynamic Global Illumination in Image Space"の概要

Proceedings ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D) 2009の論文"Approximating Dynamic Global Illumination in Image Space"を読んだので, その概要について説明させていただきます.


Screen spaceにおいて, 近似的にAmibient Occulusionを求める手法としてSSAO(Screen Space Ambient Occlusion)がありますが, この論文では方向光源の直接光と表面を1回反射した間接光を考慮したSSDO(Screen Space Directional Occlusion)を提案しています.

まず, フレームバッファにモデルの位置と法線を格納しておきます.
次に 方向光源の寄与Ldirを計算するために, 位置座標>Pの法線Nの方向を考慮しながら, 半球内で一様にN個分だけ方向ωiのサンプリングを行います. このときの各サンプルにおいてλ=0〜rmaxの範囲でランダムな値を求めて, サンプリング点の位置座標をP + λi ωiとします.

そして, 点Pにおける方向光源の寄与Ldir(P)は, 上記のN個のサンプリングした結果を元に以下の数式によって求めます.

ここでρ/πはBRDFで, Lin(ωi)は方向光源の放射輝度, V(ωi)は可視性の項, cosθiは方向光源と法線の内積で, 2π/Nは半球をN分割した時の立体角です.
可視性の項V(ωi)に関しては, サンプリング点の位置座標P + λi ωiを, フレームバッファ中の位置座標の表面に対して投影してみてその前にあって遮蔽されていないときには1, 遮蔽されているときには0にします.


一方で, 点Pにおける間接光の寄与Lind(P)の計算では, サンプリング点を遮蔽している表面上の点から そのピクセルの色Lpixelが間接光として点Pに入射すると考えて, 以下の数式によってその値を求めます.

θsiとθriはそれぞれ出射側と入射側の法線が間接光の方向となす角で, Asは出射側のパッチの面積でπrmax^2 / Nとします.


以上の2式によって, 点Pにおける方向光源の直接光と, 1回表面を反射して入射する間接光の寄与を考慮することができます.