タグ付けされた質問 「monte-carlo」

2
なぜモンテカルロ光線追跡は分散光線追跡よりも優れているのですか?
モンテカルロレイトレーサー(パストレースアルゴリズムに基づく)の品質は、分散(確率的)エンジンよりもはるかに現実的だと聞きました。理由を理解しようとしていますが、まだ始まったばかりです。 このトピックに飛び込み、基本を理解するために、誰かが私を正しい方向に向けることができますか?アルゴリズムのどの部分がよりリアルなレンダリング結果につながりますか?

3
ロシアンルーレットは本当に答えですか?
パストレースの一部の実装では、ロシアンルーレットと呼ばれるアプローチを使用して、一部のパスをカリングし、他のパス間でその寄与を共有することを確認しました。 貢献の特定のしきい値を下回るまでパスをたどり、それを放棄するのではなく、別のしきい値が使用され、そのしきい値を下回る貢献のパスはわずかな確率で終了することを理解しています。他のパスは、終端されたパスからの失われたエネルギーを共有することに対応する量だけ寄与が増加します。これがテクニックによって導入されたバイアスを修正することなのか、それともバイアスを回避するためにテクニック全体が必要かどうかは、私にはわかりません。 ロシアンルーレットは公平な結果をもたらしますか? ロシアンルーレットは公平な結果を得るために必要ですか? つまり、小さなしきい値を使用し、そのしきい値を下回る瞬間にパスを終了するだけで、より偏った結果またはより偏りのない結果が得られますか? 任意の数のサンプルが与えられた場合、両方のアプローチは不偏の結果の画像に収束しますか? ロシアンルーレットアプローチを使用する根本的な理由を理解したいと考えています。速度や品質に大きな違いはありますか? 総エネルギーを保存するために、他の光線にエネルギーが再分配されることを理解しています。ただし、レイがしきい値に達した後にランダムに決定された寿命を持つのではなく、固定されたしきい値を下回るとレイが終了した場合、この再配布はまだ実行できませんか? 逆に、エネルギーを再分配せずにレイを終了することによって失われるエネルギーが最終的に失われる場合(再分配されるレイも最終的に終了するため)、これは状況をどのように改善しますか?

2
相関サンプルは、モンテカルロレンダラーの動作にどのように影響しますか?
パストレースや双方向パストレースなどのモンテカルロレンダリングメソッドのほとんどの説明では、サンプルが独立して生成されることを前提としています。つまり、独立した均一に分布した数値のストリームを生成する標準の乱数ジェネレータが使用されます。 独立して選択されていないサンプルは、ノイズの点で有益であることがわかっています。たとえば、層化サンプリングと低差異シーケンスは、ほぼ常にレンダリング時間を改善する相関サンプリングスキームの2つの例です。 ただし、サンプル相関の影響がそれほど明確でない場合が多くあります。たとえば、Metropolis Light Transportなどのマルコフ連鎖モンテカルロ法は、マルコフ連鎖を使用して相関サンプルのストリームを生成します。多光源法は、多数のカメラパスに少数の光源パスを再利用し、多数の相関シャドウ接続を作成します。フォトンマッピングでさえ、多くのピクセルで光路を再利用することで効率が向上し、サンプルの相関性も増加します(バイアスがかかっていますが)。 これらのレンダリング方法はすべて、特定のシーンでは有益ですが、他のシーンでは事態を悪化させるようです。異なるレンダリングアルゴリズムでシーンをレンダリングし、一方が他方より良く見えるかどうかを目で確認する以外に、これらの手法によって導入されるエラーの品質を定量化する方法は明確ではありません。 質問は次のとおりです。サンプル相関は、モンテカルロ推定量の分散と収束にどのように影響しますか?どのような種類のサンプル相関が他のサンプル相関よりも優れているかを何らかの方法で数学的に定量化できますか?サンプルの相関が有益であるか有害であるかに影響を与える可能性のある他の考慮事項はありますか(例:知覚エラー、アニメーションのちらつき)。

2
パストレーシング用の適切なレンズ/カメラの客観的モデルを構築する方法
smallptを学習して実験した後、小さなパストレーサーを作成しました。 自分で書いていない(理解していない)唯一のことは、初期光線がどのように計算され、カメラから発射されるかです。原則は正しいのですが、次の方法を説明するリソースを探しています。 光線の初期方向を計算します おそらく被写界深度などの効果を可能にする(ピンホールカメラではなく)実際のレンズをモデル化しますか? 最先端の数学と物理学は必須ではありませんが、十分に説明されていればOKです。

1
間接光の寄与を計算するときに、コサイン加重半球サンプリングでNdotLが必要ですか?
均一な半球のサンプリングから余弦加重の半球のサンプリングに変換するとき、記事のステートメントに混乱します。 私の現在の間接的な貢献は次のように計算されます: Vec3 RayDir = UniformGenerator.Next() Color3 indirectDiffuse = Normal.dot(RayDir) * castRay(Origin, RayDir) 内積がcos(θ)の場合 しかし、より良いサンプリングに関するこの記事(http://www.rorydriscoll.com/2009/01/07/better-sampling/)では、著者はPDFが(cos(θ)/ pi)であることを示唆しており、その証拠はありません。 NドットL計算。 私の質問は-PDFに含まれているため、通常のドットrayDirectionを実行する必要がないということですか、それともPDFに追加されているのですか?

1
完全なモンテカルロ体積測定散乱
パストレーサーに完全なモンテカルロボリューム散乱を追加したいのですが、その方法を調べるのに苦労しています。私が何をしたいのかを説明しましょう: 光線が材料に入り、BTDFを適用します。その後、ある距離の後に体積散乱イベントが発生し、その後(等方性の場合)、光線は任意の方向に散乱します。球。これは、光線が別のBTDFで材料を出るまで繰り返されます。 私の質問は次のとおりです。 散布イベント間の距離を選択するにはどうすればよいですか?直感は、特定の距離の後に散乱する確率を与える、ある種の散乱PDFがあるべきだと私に教えてくれますか? これは正しいでしょうか? pdfは等方性材料の線形関数になりますか? この関数には、Googleが使用できる名前または何かがありますか? Beer-Lambertはまだスキャッターイベントの間に適用されますか? 私はそうは思いません。Beer-Lambertは実際の散乱計算を単純化したものであるため。 また、Beer-Lambertはマイクロスケールでの計算であり、パストレースはマクロスケールである可能性があります。 BSDFに相当する体積は何ですか?Henyey-Greensteinなどの位相関数を使用して新しい方向を決定できるようですが、減衰には何を使用しますか? 最後に、モンテカルロ体積散乱のより良いGoogleフレーズは何ですか? 体積散乱(SSS)を検索すると、完全なモンテカルロシミュレーション(双極子、内部散乱、外部散乱、拡散など)の簡略化に関する論文、方法、ブログ投稿が表示されます。

1
このロシアのルーレットのコードは正しいですか?
レンダラーの実装方法を学ぶために、他のリソースの中でwww.scratchapixel.comを使用しています。このページから次のコードを見ています。マテリアルを通過するフォトンのパケットが検討されています。フォトンパケットごとに、重みが初期化されます。は吸収の確率です。www111dwdwdw 私にとって混乱するのは、からを引くときです。は光子の吸収されていない割合であるため、パケットのフルウェイトが場合、これが理にかなっていることがわかります。例えば、吸収の確率がある場合次いでと光子のが残っています。これが後続の反復でどのように意味をなすかわかりません。たとえば、反復2では、なので、この反復では3番目ではなく半分の光子が吸収されます。dwdwdwwww1111−dw1−dw1 - dw33%33%33\%w=1−0.33=0.67w=1−0.33=0.67w = 1 - 0.33 = 0.6767%67%67\%w=0.67−0.33=0.34w=0.67−0.33=0.34w = 0.67 - 0.33 = 0.34 int photons = 10000; ... int m = 5; // there's 1 over 6 chances for the packet to be absorbed for (int i = 0; i < nphotons; ++i) { float w = ...

2
均一なサンプリングではなく、ランダムなモンテカルロサンプリングを行うのはなぜですか?
均一なサンプリングではなく、モンテカルロのランダムなサンプルの場所を使用することが一般的であるのはなぜですか? ランダム化されたサンプルを取得することにはいくつかの利点があると思いますが、それらが何であるかはわかりません。 ランダムなサンプルの場所が均一なサンプルの場所よりも優れている点を説明できる人はいますか?

1
誰もが「1秒あたりの光線数」をどのようにカウントしますか?
最近、モンテカルロパストレーサーを開発しています。トレーサーのパフォーマンスを測定するために、1秒間にトレースできる光線の数をカウントする単純なメカニズムを実装することにしました。次に問題が発生します。単一の光線を定義するには2つの方法があります。 完全なレイ。つまり、カメラから始まり、終了するまでシーンの周囲をバウンドします。 光線は各交点から発生しました。 多くの人が「レイ/秒」を使用してレイ/パストレーサーのパフォーマンスを測定しますが、「レイ」をどのように認識するかは私には不明確です。多分誰かが知っていますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.