「パストレーシング」を編集中
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''パストレーシング''' | + | '''パストレーシング'''(Path Tracing)とは、[[3DCG]]のレンダリング手法のひとつである。 |
+ | [[レイトレーシング]]の発展型のひとつである。 | ||
− | + | == 概要 == | |
− | + | # 出力画像の[[ピクセル]]と視点から[[レイ]]の[[ベクトル]](方向)を計算し、レイを飛ばす。 | |
− | ==概要== | + | # レイはモデルに衝突すると[[ブロック崩し]]のように反射する。 |
− | + | # レイが光源と衝突したらピクセルに照度を加算する。 | |
− | #出力画像の[[ピクセル]]と視点から[[レイ]]の[[ベクトル]](方向)を計算し、レイを飛ばす。 | + | #: この照度は[[双方向反射率分布関数]]( [[BRDF]] )によって低下する。 |
− | #レイはモデルに衝突すると[[ブロック崩し]]のように反射する。 | ||
− | #レイが光源と衝突したらピクセルに照度を加算する。 | ||
− | #:この照度は[[双方向反射率分布関数]]( [[BRDF]] )によって低下する。 | ||
#レイが範囲外に飛び出したら計算しない。 | #レイが範囲外に飛び出したら計算しない。 | ||
− | + | これを出力画像の全ピクセルに対して行う。 | |
− | + | ここまでは古典的な[[レイトレーシング]]である。 | |
− | |||
− | |||
− | |||
− | + | パストレーシングではより高画質を得るために、1[[ピクセル]]を作るのにレイのベクトル(方向)を微妙にずらして(微分して)何度も何度もレイを飛ばすという処理が加わっている。 | |
− | ==画質== | + | == 画質 == |
レイを飛ばす数を増やすと画質は向上するが、[[ねずみ算]]的に計算量が増える。 | レイを飛ばす数を増やすと画質は向上するが、[[ねずみ算]]的に計算量が増える。 | ||
しかも一定量を超えるとあんまり違いはわからない。 | しかも一定量を超えるとあんまり違いはわからない。 | ||
25行目: | 20行目: | ||
レイを飛ばす数は、そこそこな画像で「1ピクセル100レイ」、[[ラスタライズ法]]より明らかに高画質な画像で「1ピクセル5000レイ」と言われている。ハリウッド映画などではそれ以上の病的な数のレイを飛ばしていると言われている。 | レイを飛ばす数は、そこそこな画像で「1ピクセル100レイ」、[[ラスタライズ法]]より明らかに高画質な画像で「1ピクセル5000レイ」と言われている。ハリウッド映画などではそれ以上の病的な数のレイを飛ばしていると言われている。 | ||
− | == | + | == 応用1 == |
− | + | レイトレーシングやパストレーシングの欠点として「背景にノイズが発生しやすい」という問題がある。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | より高速でそこそこな画像を得る方法として、 | |
− | |||
* [[ゲーム]]などで一般的な[[ポリゴン]]のレンダリング([[ラスタライズ法]])を事前に行い、 | * [[ゲーム]]などで一般的な[[ポリゴン]]のレンダリング([[ラスタライズ法]])を事前に行い、 | ||
* それを視点から真正面の範囲外に1枚の巨大な[[テクスチャ]]として配置しておき、 | * それを視点から真正面の範囲外に1枚の巨大な[[テクスチャ]]として配置しておき、 | ||
* レイがモデルと衝突せずに範囲外に突き抜けた場合はそのテクスチャと衝突した箇所の色をサンプリングする | * レイがモデルと衝突せずに範囲外に突き抜けた場合はそのテクスチャと衝突した箇所の色をサンプリングする | ||
+ | という技法もある。 | ||
− | == | + | この技法を使わずクソ真面目にやるとレイとモデルが衝突しなかった箇所にノイズが発生し、 |
+ | それを穴埋めるには大量のレイを飛ばして補完する必要があり計算量が激増する。 | ||
+ | |||
+ | == 応用2== | ||
光散乱を考慮したものは「[[ボリュメトリックパストレース]]」と呼ばれる。 | 光散乱を考慮したものは「[[ボリュメトリックパストレース]]」と呼ばれる。 | ||
レイが反射するたびにレイが分裂する感じである。 | レイが反射するたびにレイが分裂する感じである。 | ||
− | [[ | + | 計算量が激増するので完全に別物扱いである。 |
− | + | [[モンテカルロ法]]の説明文で「パストレーシング」と書かれている場合はほぼ「[[ボリュメトリックパストレース]]」を指している。 | |
− | |||
− | |||
− | |||
− | ==関連== | + | == 関連 == |
− | *[[レイトレーシング]] | + | * [[レイトレーシング]] |
− | *[[パストレーシング]] | + | * [[パストレーシング]] |
− | *[[ライトトレーシング]] | + | * [[ライトトレーシング]] |
− | *[[双方向パストレーシング]] | + | * [[双方向パストレーシング]] |
− | *[[メトロポリス光輸送法]] | + | * [[メトロポリス光輸送法]] |
− | *[[フォトンマップ]] | + | * [[フォトンマップ]] |
− | *[[プログレッシブフォトンマップ]] | + | * [[プログレッシブフォトンマップ]] |