多重重点的サンプリングが紹介されたVeachの論文でBRDFサンプリングが得意なケースと光源サンプリングが得意なケースを示すシーンがあるので確かめてみた。
多重重点的サンプリングについて
以前パストレーサーで光源サンプリングとBRDFサンプリングを組み合わせることでノイズが減らすことができる 多重重点的サンプリング(Multiple Importance Sampling, MIS)を確認した。 しかしながら、光源方向に関しては光源サンプリングの方が確率密度が高くて確実なんだからMISでウェイトを掛けなくても光源サンプリング100%にすればいいんじゃない?と疑問に思ってしまった (smallptのexplicitと同じように)。
しかし扱ったのが拡散反射面だけで、他の材質の鏡面反射や透過は完全に滑らかな材質なので光源サンプリングを使わなかった。 場合によっては光源サンプリングが苦手なケースというのもあるというので試してMISの効果を確かめたかった。
Veach風のテストシーン
Veachのシーンは鏡面反射の粗さが異なる板が4枚あり、また大きさの異なる球光源が4つ配置されたもの。 シーンの詳細はわからなかったのでパラメータや配置は適当に設定:
- マテリアルにはDisney Principled(PBR)マテリアルを使用
- 板はすべてメタリックで、ラフネスが上から
0.01,0.1,0.2,0.4- 板は視点と光源の位置から、正反射して真ん中に映るような角度を計算
- 光源の球の半径は左から順に3倍ずつ、明るさは1/9倍ずつ
- 少しずつ色を入れている
以下、画像は100サンプル/ピクセル
BRDFサンプリングのみ
- 鏡面反射で表面が滑らかであれば反射方向が限られるので光源が映り込む範囲も限られるため、光源が小さくても高確率で辿り着く
- 表面が粗くなると反射方向がばらつくため光源が小さいほど辿り着く割合が下がり、ノイズが大きくなる
光源サンプリングのみ
- 表面に多少粗さがある領域は光源の影響を直接加味できて、ノイズが少ない
- 表面が滑らかだと視線の反射方向が絞られるが、光源が大きい場合はランダムに選ばれた光源方向がその領域から外れてpdfが非常に小さくなるためノイズが大きくなる
MIS
- 結果は冒頭の画像で、お互いの長所が活かされる
- ウェイトはパワーヒューリスティック
ウェイトの可視化
- BRDFサンプリングを赤、光源サンプリングを緑に色付け
- ウェイトそのままの色ではなく、サンプルした明るさを掛けたものなのでそこは注意
雑感
- MISの効果が確認でき、必要性が理解できて満足
- BRDFとそれを効率的にサンプリングするためのpdfとそれに対応するランダム方向の生成が難しい
- 正しいのか確認するのが難しく、まだちょっと計算がおかしいっぽい(ナイーブなパストレの結果と異なる)
- Veach論文に書かれているマテリアルの要素ごとの計算を1サンプルモデルでMISさせたかったが計算法わからず…
- 鏡面反射と拡散反射に対して、トレース結果に乗ずる値が異なるのでできなくない?
リンク
- Robust Monte Carlo Methods for Light Transport Simulation Veach97
- BRDF(GGX)実装してみた GGXのBRDFはこちらを参考にした