これから
この本の目的は物理ベースレンダラで使われるサンプリング手法を実装しながら、そこで使われる数学を一歩ずつ丁寧に説明することだった。ここまで読めたのなら、これまでとは違うたくさんの道を試すことができるだろう。
モンテカルロ法をさらに学びたいなら、メトロポリス法のようなパス空間ベースの手法や双方向パストレーシングを調べるとよい。確率空間は立体角ではなくパス空間に関するものになり、パスは高次元空間における高次元点となる。恐れることはない ──オブジェクトが数字を並べて表現できるとき、数学者は可能な配列全体を空間と呼び、一つの配列を点と呼ぶ。これは数式を見せびらかすためだけにあるのではない。こういった明解な抽象化が理解できれば、コードもまた明快になる。分かりやすい抽象化がプログラミングの全てである!
ムービーレンダラについて調べたいなら、様々なスタジオや Solid Angle による論文に目を通すとよい。彼らは自身の作品について驚くほどオープンである。
ハイパフォーマンスレイトレーシングを行いたいなら、Intel や NVIDIA による論文をまず読むとよい。彼らも驚くほどオープンである。
ハードコアな物理ベースレンダラを作るつもりなら、レンダラを RGB からスペクトラルに変換する必要がある。私は各レイにランダムな波長を持たせて RGB を float
に変換するアプローチを大いに気に入っている。効率が悪いと思うかもしれないが、そんなことはない!
どの方向に進むにしても、光沢 BRDF (glossy BRDF) モデルを追加するべきだろう。たくさんの選択肢があり、それぞれに利点がある。
楽しんで!
Peter Shirley
ソルトレイクシティ, 2016 年 3 月