Bidirectional Path Tracer (bdpt)

このインテグレーターは、多重重点的サンプリングをサポートする双方向パス トレーサーを実装します。
双方向パストレーサーは、エミッターとセンサーからの 2 つの個別のランダム ウォークを開始することで、放射輝度の推定値を計算します。結果として生じる "サブパス" はすべての可能な相互作用頂点で接続され、長さの異なる多数の完全なパスを作成します。これらのパスは、センサー上のピクセルに、エミッターから輸送される放射輝度の量を推定するために使用されます。

  • 双方向パス トレーサがダイレクト イルミネーション パスを作成できる 4 つの方法 ("s" はエミッターからのステップ数、"t" はセンサーからのステップ数)
bdpt_a.png bdpt_b.png bdpt_c.png bdpt_d.png
(a) s=0, t=3
標準パス トレーシング
(ダイレクト イルミネーションなし)
(b) s=1, t=2
パス トレーシング
(ダイレクト イルミネーションあり)
(c) s=2, t=1
パーティクル トレーシング
(センサーで観測された散乱現象の記録)
(d) s=3, t=0
パーティクル トレーシング
(センサーに当たったパーティクルの記録)
これは下の「サンプリング ストラテジー」の表の一番上の行に相当します。

  • サンプリング ストラテジー : 多重重点的サンプリングなし
bdpt_e_s0_t3.jpgs=0, t=3 bdpt_e_s1_t2.jpgs=1, t=2 bdpt_e_s2_t1.jpgs=2, t=1 bdpt_e_s3_t0.jpgs=3, t=0

bdpt_e_s0_t4.jpgs=0, t=4 bdpt_e_s1_t3.jpgs=1, t=3 bdpt_e_s2_t2.jpgs=2, t=2 bdpt_e_s3_t1.jpgs=3, t=1 bdpt_e_s4_t0.jpgs=4, t=0

bdpt_e_s0_t5.jpgs=0, t=5 bdpt_e_s1_t4.jpgs=1, t=4 bdpt_e_s2_t3.jpgs=2, t=3 bdpt_e_s3_t2.jpgs=3, t=2 bdpt_e_s4_t1.jpgs=4, t=1 bdpt_e_s5_t0.jpgs=5, t=0

bdpt_e_s0_t6.jpgs=0, t=6 bdpt_e_s1_t5.jpgs=1, t=5 bdpt_e_s2_t4.jpgs=2, t=4 bdpt_e_s3_t3.jpgs=3, t=3 bdpt_e_s4_t2.jpgs=4, t=2 bdpt_e_s5_t1.jpgs=5, t=1 bdpt_e_s6_t0.jpgs=6, t=0
いずれのストラテジーも、なにかしらの欠陥があります。

  • サンプリング ストラテジー : 多重重点的サンプリングあり
bdpt_f_s0_t3.jpgs=0, t=3 bdpt_f_s1_t2.jpgs=1, t=2 bdpt_f_s2_t1.jpgs=2, t=1 bdpt_f_s3_t0.jpgs=3, t=0

bdpt_f_s0_t4.jpgs=0, t=4 bdpt_f_s1_t3.jpgs=1, t=3 bdpt_f_s2_t2.jpgs=2, t=2 bdpt_f_s3_t1.jpgs=3, t=1 bdpt_f_s4_t0.jpgs=4, t=0

bdpt_f_s0_t5.jpgs=0, t=5 bdpt_f_s1_t4.jpgs=1, t=4 bdpt_f_s2_t3.jpgs=2, t=3 bdpt_f_s3_t2.jpgs=3, t=2 bdpt_f_s4_t1.jpgs=4, t=1 bdpt_f_s5_t0.jpgs=5, t=0

bdpt_f_s0_t6.jpgs=0, t=6 bdpt_f_s1_t5.jpgs=1, t=5 bdpt_f_s2_t4.jpgs=2, t=4 bdpt_f_s3_t3.jpgs=3, t=3 bdpt_f_s4_t2.jpgs=4, t=2 bdpt_f_s5_t1.jpgs=5, t=1 bdpt_f_s6_t0.jpgs=6, t=0
上と同じサンプリング ストラテジー。実際は、よい振る舞いではないストラテジーを「オフ」にしてストラテジーを抽出しますが、多重重点的サンプリングを使用することで重み付けされています。最終的な結果は、これらのイメージのすべてをまとめることによって、計算されます。

一般的に、作成したパスの一部は、高食い違い放射輝度の推定を引き起こし、望ましくないものとなります。このインテグレーターはこのような状況を改善するために多重重点的サンプリングを使用し、予測された有用性に基づいてパスに重みを加えます。
Mitsuba の双方向のパス トレーサーは、センサーとの直接の相互作用を伴うものも含め、全てのサンプリング ストラテジーを扱う技術を完全に実装しています。そのため、エミッターからのランダム ウォークと交差することができるように、有限アパチャーセンサーはシーン内のサーフェスによってはっきりと表現されます。
双方向パス トレースは "重い" レンダリング技術で、ピクセルあたりのサンプル数が同じでも通常のパス トレーシングよりも簡単に 3~ 4 倍遅くなります。しかし通常、かなりノイズの少ないイメージを生成することによってこれを埋め合わせます。

path : 32 spp bdpt : 32 spp path : 32 spp bdpt : 32 spp
bdpt_g_01.jpg bdpt_g_02.jpg Int_path_24_10_00_l32.jpg Int_bdpt_24_10_11_l32.jpg
双方向パス トレーサーは、エミッターとセンサーから始まってあらゆる可能な方法でそれらを接続して生成した部分経路によってライト パスを探します。これは上図の様な閉じたシーンに最適です。この様なシーンでは、単方向パス トレーサーは間接照明のパスの一部が見つけにくくなっています。

このインテグレーターは、複数のコアやマシン上で並列化できますが、1 つ注意点があります。BDPT パス サンプリング ストラテジーの中には、潜在的に画面上の任意のピクセルに影響を与えるため、タイルによってイメージタイルをレンダリングする通常のアプローチと互換性がありません。

推奨サンプルジェネレーター

  • 特になし

注意

  • このインテグレーターは、Dipole Subsurface を正しく処理しません。
  • このインテグレーターは、まだ特定の非可逆 (non-reciprocal) BSDF (Bumpmap map modifier) では動作しません (今後の課題)


Parameter


Max. path depth

生成される出力イメージの最長パス深さ (-1 - 100) を設定します。
詳細については、Integrators の 「パス深度 - Path depth」を参照してください。
  • タイプ : 整数
  • 初期値 : 24

Russian roulette starting depth

ロシアン ルーレット方式によるパスの終了判定基準の使用を開始する最小パス深さ (0 - 100) を設定します。
  • タイプ : 整数
  • 初期値 : 10

Create light image

このオプションを有効にすることで、エミッターからカメラに直接トレースされた接続パスをサンプリング ストラテジーに含めます。
このオプションによって、双方向パス トレーシングの有効性が向上しますが、大きなライト イメージはスレッド間の転送が非常に増加し、ボトルネックとなる可能性があります。
  • タイプ : ブーリンアン
  • 初期値 : オン

Use direct sampling methods

このオプションを有効にすることで、ダイレクト サンプリング ストラテジーを有効にします。
これはエミッターとセンサーの両方で動作するダイレクト イルミネーション サンプリングを一般化したもので、通常は良い効果となります。
  • タイプ : ブーリンアン
  • 初期値 : オン


Create light image:
Use direct sampling:
off
off
on
off
off
on
on
on
Int_bdpt_24_10_cu_l16.jpg
-
Int_bdpt_24_10_00_l16.jpg
02m44.67s
Int_bdpt_24_10_10_l16.jpg
02m54.27s
Int_bdpt_24_10_01_l16.jpg
02m55.76s
Int_bdpt_24_10_11_l16.jpg
03m05.52s
Use direct sampling methods の効果が今ひとつ掴めていません。




  • 最終更新:2014-07-31 16:44:50

このWIKIを編集するにはパスワード入力が必要です

認証パスワード