だんだん見えてきた。
原因は点光源にあるみたい。
点光源周辺の拡散面が光源並みの明るさで、しかも二次関数で明るさが変化しているため、cos-weightedではサンプリング数を増やしてもなかなか分散が減らない。(数百本ファイナルギャザーレイを飛ばしても、点光源周辺の拡散面部分からの寄与を計算するのに使われるのは十本ぐらい)
解決策としては:
- フォトンマップ情報もつかってファイナルギャザーレイを飛ばす。
- Bidirectionalパストレ系の手法
が今のところ考えられる。
とりあえずフォトンマップ情報を使ったサンプリングを実装してみるかな。