グローバルイルミネーション(24)

Primary Sample Space Metropolis Light Transport (PSSMLT)
Energy redistribution path tracing (ERPT).

まだ適当にごまかしている(というか想像で作った箇所がある)
概ね論文に従っているが理解できない所が結構あるので正しい実装にはなっていないと思うが論文の主張しているような機能にはなっているっぽい。
イメージ 1
確かにパストレーシングと比較すると性能の差は明らか、、、と言いたいがNextEventEstimationを考慮すると優位性が良くわからない。
これだったらパストレーシングで良い。そこで光源の手前を壁で遮って隙間を少し空けてみた。
イメージ 2
見やすくするためガンマ補正してる。
ん、、、やっぱりパストレーシングで良いじゃないの?
というか実装が悪いんだろうな。ただ、アルゴリズムの傾向は出ている気がする。
PSSMLTもERPTも明るいところにサンプリングが集中している。

MPIとOpenMPによる(マルチプロセス、マルチスレッド)並列化は今のうちにやっておいた。

参考)穴空間[http://kagamin.net/hole/]
メトロポリス光輸送法とエネルギー再分配パストレーシングの実装例がある。

見ている論文が同じなので肝はほぼ同じだけど色々と違う。当然だけど私のほうは想像でやっているところがあるのでしょうがないが結局理解していない部分は参考にしても役に立たない。
そこでまねてみたけど結果はぼろぼろだった。
あと、なんでピクセル値にウエイトとして4倍もしているのか不明だ。
同じようにしたら(当然というか)結果も本来の4倍も明るい結果になってしまった。
分からないことだらけだ。
やはり、もう少し自力で探ってみようか、、、。