Illumination in the Presence of Weak Singularities
T Kollig, A Keller - Springer
を読みました。
とてもわかりやすい論文なので解説略。
(2)式のmax(G-b, 0)でマイナス値を取らないということさえ気をつければ問題ないです。ここでちょっと詰まった。
実装ですが、nytrの構造上ちょっと困ってます。b=1/bsdfで定義することを推奨してますが、BSDF関数をの関数の形で定義しているのと、PRT本のように光源サンプラー側でをしているため、この形のbを使うのは難しいかも。とりあえずb=1で実装してみます。
追記:
実装した。けどsingularityが問題になるようなケースにはなかなか遭遇しない模様。しかしコレって直径1の球のシーンとかレンダリングするときbを適切に指定しないと凄いことになりそうな予感。自動で振り分けるいい方法はないものか。