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

提供: MonoBook
ナビゲーションに移動 検索に移動
12行目: 12行目:
 
ここまでは古典的な[[レイトレーシング]]である。
 
ここまでは古典的な[[レイトレーシング]]である。
  
古典的なレイトレーシングのレイは「[[ブロック崩し]]の玉のように反射するだけ」であるが、
+
パストレーシングではより高画質を得るために、1[[ピクセル]]を作るのにレイのベクトル(方向)を微妙にずらして(微分して)何度も何度もレイを飛ばすという処理が加わっている。
パストレーシングでは「反射するたびにレイが分裂する」という処理が加わっている。
 
  
パストレーシングではより高画質を得るために、1[[ピクセル]]を作るのにレイのベクトル(方向)を微妙にずらして(微分して)何度も何度もレイを飛ばすのである。
+
== 画質 ==
 +
レイを飛ばす数を増やすと画質は向上するが、[[ねずみ算]]的に計算量が増える。
 +
しかも一定量を超えるとあんまり違いはわからない。
  
== 画質==
+
レイを飛ばす数は、そこそこな画像で「1ピクセル100レイ」、[[ラスタライズ法]]より明らかに高画質な画像で「1ピクセル5000レイ」と言われている。ハリウッド映画などではそれ以上の病的な数のレイを飛ばしていると言われている。
単純にレイを飛ばす量を増やすと画質は向上する。
 
増やそうと思えばどこまでも増やせるが、[[ねずみ算]]的に計算量が多くなる。
 
 
 
そのため通常はあらかじめ決まった数のレイを飛ばすということが行われる。
 
 
 
飛ばすレイの数は、そこそこな画像で「1ピクセル100レイ」、[[ラスタライズ法]]より明らかに高画質な画像で「1ピクセル5000レイ」と言われている。またハリウッド映画などではそれ以上の病的な数のレイを飛ばしていると言われている。
 
  
 
== 応用 ==
 
== 応用 ==
 
より高速でそこそこな画像を得る方法として、
 
より高速でそこそこな画像を得る方法として、
* [[ゲーム]]などで一般的な[[ポリゴン]]のレンダリング([[ラスタライズ法]])を事前に行い、
+
[[ゲーム]]などで一般的な[[ポリゴン]]のレンダリング([[ラスタライズ法]])を事前に行い、
* それを視点から真正面の範囲外に1枚の巨大な[[テクスチャ]]として配置しておき、
+
それを視点から真正面の範囲外に1枚の巨大な[[テクスチャ]]として配置しておき、
* レイがモデルと衝突せずに範囲外に突き抜けた場合はそのテクスチャと衝突した箇所の色をサンプリングする
+
レイがモデルと衝突せずに範囲外に突き抜けた場合はそのテクスチャと衝突した箇所の色をサンプリングするという技法もある。
という技法もある。
 
 
 
 
この技法を使わずクソ真面目にやるとレイとモデルが衝突しなかった箇所にノイズが発生し、
 
この技法を使わずクソ真面目にやるとレイとモデルが衝突しなかった箇所にノイズが発生し、
 
それを穴埋めるには大量のレイを飛ばして補完する必要があり計算量が激増する。
 
それを穴埋めるには大量のレイを飛ばして補完する必要があり計算量が激増する。
38行目: 31行目:
 
レイが反射するたびにレイが分裂する感じである。
 
レイが反射するたびにレイが分裂する感じである。
 
計算量が激増するので完全に別物扱いである。
 
計算量が激増するので完全に別物扱いである。
 +
[[モンテカルロ法]]の説明文で「パストレーシング」と書かれている場合はほぼ「[[ボリュメトリックパストレース]]」を指している。
  
 
== 関連 ==
 
== 関連 ==

2021年6月25日 (金) 02:27時点における版

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

概要

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

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

パストレーシングではより高画質を得るために、1ピクセルを作るのにレイのベクトル(方向)を微妙にずらして(微分して)何度も何度もレイを飛ばすという処理が加わっている。

画質

レイを飛ばす数を増やすと画質は向上するが、ねずみ算的に計算量が増える。 しかも一定量を超えるとあんまり違いはわからない。

レイを飛ばす数は、そこそこな画像で「1ピクセル100レイ」、ラスタライズ法より明らかに高画質な画像で「1ピクセル5000レイ」と言われている。ハリウッド映画などではそれ以上の病的な数のレイを飛ばしていると言われている。

応用

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

光散乱を考慮したものは「ボリュメトリックパストレース」と呼ばれる。 レイが反射するたびにレイが分裂する感じである。 計算量が激増するので完全に別物扱いである。 モンテカルロ法の説明文で「パストレーシング」と書かれている場合はほぼ「ボリュメトリックパストレース」を指している。

関連