8

レイ トレーシングでは、レイが当たったポイントのシェーディングを計算したいと考えています。すべての光源に線を「描き」、それらがオブジェクトによってブロックされているかどうかを確認します。それらがブロックされていない場合は、それらの強度と、「ヒット レイ」とサーフェス法線の間の角度に従って、照明の強度を計算します。

しかし、部分的に透明な表面によって光が遮られた場合はどうなるでしょうか? その後、光は点を照らすはずですが、その強度と色は通過する表面の色の影響を受けます。それを計算するには、光線の通過点に対してレイ トレーシングを行う必要があります (実際には入口と出口の 2 つのポイント)、これは非常にコストがかかるだけでなく、ほとんど終わらない可能性があります (光源とサーフェスを適切に配置すれば、トレーサーをほぼ無限に配置できると思います)。ヒットごとにループします)。

色を近似するための高速で適切な方法はありますか、または表面の色を光の色として、その透明度を強度として使用する必要がありますか?

4

2 に答える 2

3

入口点と出口点からレイ トレーシングを開始する必要はありません。これらの点にどのような光が当たっているかを考えてみてください。ターゲット オブジェクトに当たる角度以外の角度で半透明の表面に当たる光線は、ターゲット オブジェクトに当たる光の色には影響しません。

+     *     +
 +    *    +
  +   *   +
   +  *  +
 ----------
|    +*+   |
|   + * +  |
|  +  *  + |
 ----------
 +    *    +
      *
      *
   -------

もちろん、これはマテリアルに屈折がないことを前提としています。

レイ トレーサーをパス トレーシングのようなもう少し高度なものに拡張したい場合は、半透明のオブジェクトから跳ね返って最終的なオブジェクトに当たる光を考慮する必要がありますが、レイ トレーサーの場合はその必要はありません。心配してください。

半透明のオブジェクトの場合、光強度の減少を距離の線形関数としてモデル化します (ほとんどの現実世界のオブジェクトは、この仮定に厳密に従います)。光を RGB コンポーネントを持つものとしてモデリングしている場合 (物理的に現実的ではありません...)、オブジェクト内のそのコンポーネントの値に比例して各コンポーネントを減らします。

オブジェクト内で光が何をするかについて本当に高度になりたい場合は、サブサーフェス スキャッタリングに目を向ける必要があります(グラスに入った牛乳が白い固体のように見えない理由と、CGI で人間をモデル化するのが非常に難しい理由です)。 )。

編集:光が無限に前後に跳ね返り、多くの計算を使用するというあなたが言及した現象は、実際の光の動作です。最近の高度なレンダラーは、これらのライト コンポーネントをすべて統合することはできないため、代わりにライトの分布をランダムにサンプリングします。より多くのサンプルを取得するほど、画像はより現実的な外観に収束し、光の統合が真の値に近づきます。これをモンテカルロ レンダリングと呼びます。パス トレーシング、双方向パス トレーシング、およびメトロポリスのライト トランスポートはすべて、ライト トランスポートを完全にシミュレートしようとするモンテカルロ アルゴリズムです。各アルゴリズムは、十分な時間が与えられれば、同じ最終画像に収束しますが、一部のアルゴリズムは他のアルゴリズムよりも効率的です。(パス トレーシングを参照してください。ウィキペディアで。記事の下部には、私が描こうとしたものよりも優れた画像があります)。

于 2011-01-03T22:09:03.980 に答える
1

通常のシェーディングと透明度の両方を実行できるサーフェスが必要な場合、最も簡単な方法は、シャドウ レイの通常のシェーディングを無視することです。イルミネーションの目的では、透明なサーフェスのフィルタリング アトリビュートのみを使用します。これにより、説明した潜在的に無限の照明計算が回避されます。

「ロシアン ルーレット」というカラフルな名前で呼ばれる無限光線ツリーを近似する良い方法があることに注意してください。ツリーのいずれかのブランチが重要でなくなった場合は、それを剪定するかどうかをランダムに選択します。枝は確率Pで剪定され、結果にゼロをもたらします (それらは「死んで」おり、計算する必要はありません)。1/(1-P)生き残ったブランチ (「勝者」)は、結果の近似値が平均して正しいように、貢献度に を掛けます。

ロシアンルーレットはモンテカルロ法です。モンテカルロ レイ トレーシングやその他のグローバル イルミネーションの方法を調べることもできます。

于 2011-01-03T22:11:15.080 に答える