「パストレーシング」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
(ページの作成:「'''パストレーシング'''(Path Tracing)とは、3DCGのレンダリング手法のひとつである。 レイトレーシングの発展型のひとつ…」)
 
6行目: 6行目:
 
# レイはモデルに衝突すると[[ブロック崩し]]のように反射する。
 
# レイはモデルに衝突すると[[ブロック崩し]]のように反射する。
 
# レイが光源と衝突したらピクセルに照度を加算する。
 
# レイが光源と衝突したらピクセルに照度を加算する。
#: この照度は[[表面反射関数]]( [[BRDF]] )によって低下する。
+
#: この照度は[[双方向反射率分布関数]]( [[BRDF]] )によって低下する。
 
#レイが範囲外に飛び出したら計算しない。
 
#レイが範囲外に飛び出したら計算しない。
  
30行目: 30行目:
 
* [[レイトレーシング]]
 
* [[レイトレーシング]]
 
* [[パストレーシング]]
 
* [[パストレーシング]]
* [[ライトトレーシング]]
+
* [[ライトトレーシング]]
 
* [[双方向パストレーシング]]
 
* [[双方向パストレーシング]]
 
* [[メトロポリス光輸送法]]
 
* [[メトロポリス光輸送法]]
 
* [[フォトンマップ]]
 
* [[フォトンマップ]]
 
* [[プログレッシブフォトンマップ]]
 
* [[プログレッシブフォトンマップ]]

2019年9月6日 (金) 01:30時点における版

パストレーシング(Path Tracing)とは、3DCGのレンダリング手法のひとつである。 レイトレーシングの発展型のひとつである。

概要

  1. 出力画像のピクセルと視点からレイベクトル(方向)を計算し、レイを飛ばす。
  2. レイはモデルに衝突するとブロック崩しのように反射する。
  3. レイが光源と衝突したらピクセルに照度を加算する。
    この照度は双方向反射率分布関数BRDF )によって低下する。
  4. レイが範囲外に飛び出したら計算しない。

これを出力画像の全ピクセルに対して行う。 ここまでは古典的なレイトレーシングである。

パストレーシングではより高画質を得るために、1ピクセルを作るのにレイのベクトル(方向)を微妙にずらして(微分して)何度も何度もレイを飛ばすという処理が加わっている。 レイを飛ばす数は、そこそこな画像で「1ピクセル100レイ」、ラスタライズ法より明らかに高画質な画像で「1ピクセル5000レイ」と言われている。ハリウッド映画などではそれ以上の病的な数のレイを飛ばしていると言われている。

応用

より高速でそこそこな画像を得る方法として、 ゲームなどで一般的なポリゴンのレンダリング(ラスタライズ法)を事前に行い、 それを視点から真正面の範囲外に1枚の巨大なテクスチャとして配置しておき、 レイがモデルと衝突せずに範囲外に突き抜けた場合はそのテクスチャと衝突した箇所の色をサンプリングするという技法もある。 この技法を使わずクソ真面目にやるとレイとモデルが衝突しなかった箇所にノイズが発生し、 それを穴埋めるには大量のレイを飛ばして補完する必要があり計算量が激増する。

光散乱を考慮したものは「ボリュメトリックパストレース」と呼ばれる。 レイが反射するたびにレイが分裂する感じである。 計算量が激増するので完全に別物扱いである。

関連