RustでRayTracing (チャプター8.4から8.6)

1 min read読了の目安(約600字

チャプター8.4

8.4では浮動小数点の誤差を考慮してコードを修正していました。
これだけで画像がかなり明るくなって、ちょっとびっくりしました。
浮動小数点ではなく、positとかでやるとまた話が変わるのかな。

考慮前

考慮後

チャプター8.5

より正確にランバート分布に近づけるために、ランダムに選んだベクトルをノーマライズするという話でした。

記事に書かれているように、たしかに影が薄くなっていますね。

チャプター8.6

別の拡散マテリアルの方法でレンダリングするコードを書きました。

前のと比べると影がくっきりしています。
光をどのように扱うかを数式で考えるのはいいですね。