入口点と出口点からレイ トレーシングを開始する必要はありません。これらの点にどのような光が当たっているかを考えてみてください。ターゲット オブジェクトに当たる角度以外の角度で半透明の表面に当たる光線は、ターゲット オブジェクトに当たる光の色には影響しません。
+ * +
+ * +
+ * +
+ * +
----------
| +*+ |
| + * + |
| + * + |
----------
+ * +
*
*
-------
もちろん、これはマテリアルに屈折がないことを前提としています。
レイ トレーサーをパス トレーシングのようなもう少し高度なものに拡張したい場合は、半透明のオブジェクトから跳ね返って最終的なオブジェクトに当たる光を考慮する必要がありますが、レイ トレーサーの場合はその必要はありません。心配してください。
半透明のオブジェクトの場合、光強度の減少を距離の線形関数としてモデル化します (ほとんどの現実世界のオブジェクトは、この仮定に厳密に従います)。光を RGB コンポーネントを持つものとしてモデリングしている場合 (物理的に現実的ではありません...)、オブジェクト内のそのコンポーネントの値に比例して各コンポーネントを減らします。
オブジェクト内で光が何をするかについて本当に高度になりたい場合は、サブサーフェス スキャッタリングに目を向ける必要があります(グラスに入った牛乳が白い固体のように見えない理由と、CGI で人間をモデル化するのが非常に難しい理由です)。 )。
編集:光が無限に前後に跳ね返り、多くの計算を使用するというあなたが言及した現象は、実際の光の動作です。最近の高度なレンダラーは、これらのライト コンポーネントをすべて統合することはできないため、代わりにライトの分布をランダムにサンプリングします。より多くのサンプルを取得するほど、画像はより現実的な外観に収束し、光の統合が真の値に近づきます。これをモンテカルロ レンダリングと呼びます。パス トレーシング、双方向パス トレーシング、およびメトロポリスのライト トランスポートはすべて、ライト トランスポートを完全にシミュレートしようとするモンテカルロ アルゴリズムです。各アルゴリズムは、十分な時間が与えられれば、同じ最終画像に収束しますが、一部のアルゴリズムは他のアルゴリズムよりも効率的です。(パス トレーシングを参照してください。ウィキペディアで。記事の下部には、私が描こうとしたものよりも優れた画像があります)。