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

考慮後

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

記事に書かれているように、たしかに影が薄くなっていますね。
チャプター8.6
別の拡散マテリアルの方法でレンダリングするコードを書きました。

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