260 likes | 425 Views
1 2 , 分散レイトレ Distribution Ray Tracing. インタラクティブCG05S 蔡 東生. 参考文献. CG テキスト 4− 2-6 Foley and van Dam, 16.12.4. ピクセルエイリアス. BRDF 再び. 以前のスライドの反射モデルでは物体間反射は鏡面的に反射することを仮定していた。 しかし、光の反射は一般的 BRDF(Bi-directional Reflectance Function) として表されることを以前学んだ 例えば、与えられた入射光 に対して BRDF を可視化すると. 表面反射方程式.
E N D
12,分散レイトレDistribution Ray Tracing インタラクティブCG05S 蔡 東生
参考文献 • CGテキスト 4−2-6 • Foley and van Dam, 16.12.4
BRDF再び • 以前のスライドの反射モデルでは物体間反射は鏡面的に反射することを仮定していた。 • しかし、光の反射は一般的BRDF(Bi-directional Reflectance Function)として表されることを以前学んだ • 例えば、与えられた入射光 に対してBRDFを可視化すると
表面反射方程式 • 本当の表面からの反射を計算するためには、我々は実際に表面反射方程式(surface reflection equation)を解くことができる: • 強度 をもつ、 方向から入射される方向性光(directional light)に対して、他の方向からの光の寄与がゼロとして、以下のように表せる • 我々は複数の光源からの寄与にたいして、反射光をビューアングル(視線角)の関数とみなせ、
光沢と半透明性をシミュレーションする • 光沢をもつ表面を近似しようとすると、鏡面のような反射は、反射(と屈折)にたいして、アンダーサンプリングになるためある種のエイリアス効果をもつようになる • たとえば、 • レイを反射方向に分布させると
完全アンチエイリアシング • 完全アンチエイリアシングは多くの多重積分を含む • これらの積分を解くことはレイを再帰的にトレースする場合高価でほとんど不可能 • これらの、高次積分を近似する方法についてみてみる
レイパス全体を足しあわせる • この問題をレイを数えることで考えてみる • ピクセルごとの強度はプライマリレイ全体を足しあわせる: • 与えられたプライマリレイに対して、その強度はセカンダリレイに依存する • これを元の方程式に代入
レイパス全体を足しあわせる • 次に、3次レイをどう足しあわせるか考える • それぞれの、i,j,kトリプルはレイパスに対応 • ここで、レイトレは複雑な(任意の長さ!の)レイパス全体の加算を含む多重光輸送方程式積分を近似する一つの方法であることが分かる • 問題:全てのレイパスを足すのは大変すぎる • 解:少ない”良い”パスをえらぶ
Whitted integration • アンチエイリアスWhittedレイトレは非常に特殊なパスを選ぶ。すなわち、光源でおわる完全な反射(と屈折)である正規化サブピクセルからスタートするパスを選んでいる。 一つの問題は、表面において鏡面的でない反射を説明できていない
モンテカルロレイトレ • かわりに、反射(と屈折)にかんして完全に乱数決定によるランダムサブピクセルからスタートするパスから選ぶ。これはモンテカルロパストレーシングとよぶ。 • この方法の利点は答えは常に正しい答えに収束していくことである。
サンプリングの重要性 • 完全乱数レイの欠点は重要でないパスをサンプルして、重要なパスを無視する可能性があることである。 • これは、良い結果に収束するためには多くのレイが必要であることを意味する。 • これを解決するための解は再びWhitted的な考えを利用することである:光源へのレイを放出し、鏡面的反射方向のレイが多く放出されるようにすることである。
階層的サンプリング • より速い収束を得る他の方法は階層的サンプリング(stratified sampling)である • 例えば:サブピクセルサンプルに対して • これを、ジッタード(jittered)サンプリングと呼ぶ。 • これらの確率的サンプリングパターンの面白い副作用は解そのものにノイズを注入することである(少し荒いイメージとなる)。これらのノイズはエイリアシング効果よりそれほど目立たないが、、、、、
分散レイトレーシング • これらの考えをまとめると分散レイトレーシング(Distributed Ray Tracing: DRT)[Cook84]をえる: • 非均一的(jittered)サンプル • ノイズでエイリアス効果に換える • サンプルにレイを分布させることで追加的効果を得る • 反射と屈折 • 光源効果 • カメラレンズ効果 • 時間 • もともとDistributed Ray Tracingと呼んでいたが、ここでは並列レイトレとの混同を避けるためDistribution Ray Tracingとする。
DRT擬似コード • TraceImage()は基本的に同じに見える。ただし、ジッタードサブピクセルレイの平均カラーがそれぞれのピクセルで記録されている。 典型的なチョイスはnumSubPixels=5*5
DRT擬似コード • 次に、透明な光沢のある物質表面を扱えるよう、traceRa()を考える。
ソフトシャドウ • 光源領域を覆う分布レイは以下の結果を与える
ピンホールカメラ再び • ピンホールカメラを思い出そう • Q:どのようにしてピンホールカメラをより詳しくシミュレーションできるか??
レンズ • ピンホールカメラはイメージの焦点を維持するために小さな口径が要求される • レンズ焦点はレイの束を一点に集める=>より大きな口径をもてる • 薄いレンズでは、ガウスレンズ公式を使い物体点がどこに焦点があるか近似的に計算できる • ここで、fは焦点距離である
Depth of Field • レンズはいくつかの限界がある • 物体面にない点は焦点がぼけると言う顕著な特徴 • 被写界深度(Depth of field)はぼけるまでの物体平面の距離である
被写界深度をシミュレーションする • 細かい口径に分布するレイは以下のようなイメージを与える
レイidを関連づける(Chaining) • 一般的に、シーン全般にレイをトレースし、これらの効果を扱うためレイのidを追跡する
DRTシミュレーション • 一定時間レイを分布させると、、、、
まとめ • ここで勉強したこと • Whitted レイトレの限界 • 分散レイトレがどうはたらき、どういう効果があるか