ビールの法則(オブジェクトを通る距離での色の吸収)を実装すると、何らかの理由でそれが非常に良く見えることはありません。
オブジェクトの背後に色がある場合、調整した色を次のように計算します。
const vec3 c_absorb = vec3(0.2,1.8,1.8);
vec3 absorb = exp(-c_absorb * (distanceInObject));
behindColor *= absorb;
これにより、次のようになります(少しの屈折が適用されていることに注意してください)。
これは、ここではシェーダートイとして実装されていることに注意してください。
これは、ビールの法則の機能の説明を満たしていますが、次のようなショットと比較すると、見栄えがよくありません。
鏡面ハイライトはさておき、私は違いを理解しようとしています。それは、私のジオメトリが単純すぎて実際にそれをうまく表示できないということですか?それとも間違って実装していますか?