われがわログ

最適化アルゴリズムとかプログラミングについて書きたい

「週末レイトレーシング 余生」を読んだ

前々回記事で紹介した「週末レイトレーシング」の第3巻を読んだのでメモ。

waregawa-log.hatenablog.com

inzkyk.xyz

原著:

https://raytracing.github.io/books/RayTracingTheRestOfYourLife.html

この本まで読むと、確率密度関数を使って重点サンプリングができるようになる。 前巻でレンダリングしたコーネルボックスはこれを実装していなかったため、ノイズが多くなってしまっていたが、これを解決できる。 具体的には、光源(光が強いオブジェクト)に対して重点的にサンプリングし、後で重要度重みをかけてサンプリングを変えた影響を補正している。

重点サンプリングに関しては、以下の記事も参考にした。

aidiary.hatenablog.com

f:id:estshorter:20200814124552p:plain
拡散反射をなくして、ライトだけを重点サンプリングしたコーネルボックス
f:id:estshorter:20200814124557p:plain
ライトと拡散反射に関する混合密度関数を使って重点サンプリングしたコーネルボックス
f:id:estshorter:20200814124607p:plain
ライトだけでなく、球に関しても重点サンプリングしたコーネルボックス
f:id:estshorter:20200814124612p:plain
金属球に対する重点サンプリングの例