ERPT 実装: コースティクス摂動

by syoyo

LDE の三頂点経路のみであるが、コースティクス摂動により
経路を変異させるところまでコーディングできました。

赤が元の経路、緑が光源からの方向をちょっとずらしてトレースしなおした、変異された経路です。
画面左の外側に視点位置があります。

手続きとしては、まず通常のパストレで変異させたい経路を作成しておく。
(今回はもっとも単純な LDE 経路のみを変異させることを考える)

– 光源の頂点から、 L -> D の方向を摂動させる。
– 摂動した方向へレイを飛ばして交点を求める。
— このとき、面に当たらず背景に飛んでいかないようにチェック
— さらに、異なる BRDF にヒットしていないかチェック(元がディフューズ面だったのに、摂動したらスペキュラー面にヒットしたなど)
– 交点(ディフューズ面を確認しておく)から、視点へレイを飛ばす
— このとき、遮蔽されないかチェック

で変異経路が出来上がる。

まとめると、ERPT では、変異されて新しく生成された経路は、
o 経路の長さは変わらない。
o 各頂点間の経路が遮蔽されていない。
o 各頂点の面の BRDF が変異前と同じである。
o 視点への経路が画像面内にあること。
を満たす必要がある。これが満たされないは変異に失敗とみなし、
もう一度変異をやり直せばよい。

次は、さらなる経路のタイプへの変異処理と、相対経路密度(relative path density)の計算です。

to be continued…

Advertisements