「パストレーシング」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) |
||
| (同じ利用者による、間の6版が非表示) | |||
| 1行目: | 1行目: | ||
'''パストレーシング'''(英語:Path Tracing)とは、[[3DCG]]のレンダリング手法のひとつである。 | '''パストレーシング'''(英語:Path Tracing)とは、[[3DCG]]のレンダリング手法のひとつである。[[レイトレーシング]]の発展型のひとつである。 | ||
[[レイトレーシング]]の発展型のひとつである。 | |||
「分散レイトレーシング」や「モンテカルロレイトレーシング」とも呼ばれる。 | |||
==概要== | ==概要== | ||
| 11行目: | 12行目: | ||
これを出力画像の全[[ピクセル]]に対して行う。ここまでは古典的な[[レイトレーシング]]である。 | これを出力画像の全[[ピクセル]]に対して行う。ここまでは古典的な[[レイトレーシング]]である。 | ||
[[ファイル:レイトレーシング.png| | [[ファイル:レイトレーシング.png|none|640px]] | ||
[[レイトレーシング]]では1[[ピクセル]]を生成するのに1個のレイを飛ばしているが、パストレーシングではより高画質を得るために、1[[ピクセル]]を生成するのに「進行方向を微妙にずらしたレイを大量に飛ばして、その結果を集計する」という方法を用いる。 | |||
[[ファイル:パストレーシング.png|none|640px]] | |||
無尽蔵にレイを撃つと永遠に処理が終わらないので、一般的には「[[ランダム]]な16方向に飛ばす」などといった[[乱数]]を用いて計算量を一定量に抑えるという手法が用いられる。いわゆる[[モンテカルロ法]]だ。 | |||
[[ | |||
==画質== | ==画質== | ||
| 24行目: | 25行目: | ||
レイを飛ばす数は、そこそこな画像で「1ピクセル100レイ」、[[ラスタライズ法]]より明らかに高画質な画像で「1ピクセル5000レイ」と言われている。ハリウッド映画などではそれ以上の病的な数のレイを飛ばしていると言われている。 | レイを飛ばす数は、そこそこな画像で「1ピクセル100レイ」、[[ラスタライズ法]]より明らかに高画質な画像で「1ピクセル5000レイ」と言われている。ハリウッド映画などではそれ以上の病的な数のレイを飛ばしていると言われている。 | ||
== | == ノイズ == | ||
レイトレーシングやパストレーシングの欠点として「レイが1回も反射しない部分(背景)にノイズが発生しやすい」という問題がある。 | |||
=== 解決策1 === | |||
1ピクセルあたりの「飛ばすレイの数」を単純に増やすという手法である。 | |||
当然ながら計算量が激増する。 | |||
[[力こそパワー]]である。 | |||
=== 解決策2 === | |||
「そこそこ高速」かつ「そこそこな画質」を得る方法として以下のような手法もある。 | |||
* [[ゲーム]]などで一般的な[[ポリゴン]]のレンダリング([[ラスタライズ法]])を事前に行い、 | |||
* それを視点から真正面の範囲外に1枚の巨大な[[テクスチャ]]として配置しておき、 | |||
* レイがモデルと衝突せずに範囲外に突き抜けた場合はそのテクスチャと衝突した箇所の色をサンプリングする | |||
== | ==散乱== | ||
光散乱を考慮したものは「[[ボリュメトリックパストレース]]」と呼ばれる。 | 光散乱を考慮したものは「[[ボリュメトリックパストレース]]」と呼ばれる。 | ||
レイが反射するたびにレイが分裂する感じである。 | レイが反射するたびにレイが分裂する感じである。 | ||
[[ファイル:ボリュメトリックパストレーシング.png|none|640px]] | |||
[[ | |||
パストレーシングとボリュームパストレーシングの違いは大雑把にいえば、 | |||
レイの分裂が「最初だけ」か「反射したときも」かの違いであるが、 | |||
後者はアホみたいに計算量が激増するので完全に別物扱いである。 | |||
==関連== | ==関連== | ||
*[[レイトレーシング]] | *[[レイトレーシング]] | ||
*[[パストレーシング]] | *[[パストレーシング]] | ||