表面下散乱の「双極子近似」とは何ですか?


18

表面下散乱に関する論文を読むと、「双極子近似」と呼ばれるものへの参照に遭遇することがよくあります。この用語は、Henrik Wann Jensenらによる論文A Practical Model for Subsurface Light Transportに戻っているようですが、この論文を理解するのはかなり困難です。

ダイポール近似とは何か、サブサーフェススキャタリングのレンダリングでどのように使用されるか、誰でも比較的簡単な用語で説明できますか?


1
それは確かに複雑な紙です(それでも時々悪夢を見ることができます!)が、全体を少し単純化しようとしました。以下の回答を
何らかの

回答:


23

そのようなモデルの基礎となる仮定は、スキンレンダリングの他の多くのモデルと同じです。表面下散乱は拡散現象として近似できます。散乱性の高い媒体では、光の分布が角度からの依存性を失い、等方性になる傾向があるため、これは良いことです。

双極子近似は、このような拡散問題を解析的に解決するための定式化です。

基本的に、それらはBSSRDFを多重散乱成分と単一散乱成分として近似することから始まります。多重散乱は次のように定義されます。

ここに画像の説明を入力してください

ここで、はフレネル項であり、は入口点と出口点の間の距離の関数として表される拡散プロファイルです。 RFtR

このは拡散プロファイルと呼ばれ、双極子近似によりこのプロファイルを定式化します。入射光線の寄与は、2つの仮想光源のうちの1つであると見なされます。1つは表面の下で負で、もう1つはその上で正です(だから双極子です)R

ここに画像の説明を入力してください

この図のrは上記。これらの光源の寄与は、表面からの光の距離、散乱係数などのさまざまな要因に依存します(式自体の詳細については、以下を参照してください)。xixo

このモデルでは、複数の散乱イベントのみが考慮されますが、肌には十分です。ただし、半透明のマテリアル(煙や大理石など)では、単一の散乱が基本的であることに注意する必要があります。その論文は単一の散乱定式化を提案していますが、高価です。

拡散プロファイルは、通常、リアルタイムシナリオで実用的になるように、GPU Gems 3のD'Eonなどの独創的な作品のように一連のガウスぼかしとしてリアルタイムアプリケーションに近似されます。 。で、この素晴らしい紙のように近似の詳細があります。その論文の写真は、実際にこの処方がどれほど良いかを示しています。

ここに画像の説明を入力してください

補足として、双極子近似では、材料が半無限であると仮定していますが、この仮定は、薄いスラブや皮膚などの多層材料には当てはまりません。ダイポール研究に基づいて、Donner and Jensen [2005]は、ダイポール問題を説明するマルチポール近似を提案しました。単一の双極子の代わりにこのモデルを使用して、著者はそれらのセットを使用して散乱現象を説明します。そのような定式化では、反射率と透過率のプロファイルは、含まれる異なる双極子の寄与を合計することによって取得できます。


編集:私はここでコメントセクションに@NathanReedのいくつかの質問への答えを入れています:

拡散プロファイル近似を使用しても、BSSRDFモデルでは、入射光を収集するために、表面上の近くの点の半径にわたって積分する必要がありますか?これは、たとえばパストレーサーでどのように達成されますか?特定のポイントの近くのサーフェス上のポイントをサンプリングできるように、データ構造を構築する必要がありますか?

BSSRDF近似は、特定の領域で統合する必要があります、はい。

リンクされた論文では、次のように定義された密度の点の周りでランダムにサンプリングするモンテカルロ光線トレーサーを使用しました。

σtreσtrd

ここで、そのシグマ値は、以下で定義する実効吸光係数(材料の特性である散乱係数と吸収係数に依存します)であり、dは評価するポイントまでの距離です。拡散項には指数関数的な減衰があるため、この密度はこのように定義されます。

[ジェンセンとビューラー2002]これらは、加速技術を提案しています。主な概念の1つは、サンプリングを拡散項の評価から切り離すことでした。この方法では、拡散の評価に関しては、サンプリングフェーズで計算された情報の階層的評価を実行して、離れたサンプルをまとめます。このペーパーで説明する実装では、octreeを構造として使用します。この技術は、論文によると、完全なモンテカルロ積分よりも桁違いに高速です。
残念ながら、私はオフライン実装に自分自身を持っていなかったので、これ以上のことはできません。

リアルタイムのガウス和の近似では、適用する必要のあるガウスぼかしの分散を定義するときに、正しい半径が暗黙的に設定されます。

なぜ1つのポジティブライトと1つのネガティブライトがあるのですか?彼らが何らかの方法でお互いをキャンセルするのが目標ですか?

はい、ダイポールソース法(Jensenの論文よりずっと前の日付です)は、ある境界条件を満たすように定義されています。具体的には、の表面からの距離がある特定の外挿された境界でフルエンスはゼロでなければなりません。2AD

ここに画像の説明を入力してください

ビーイング考えスラブとそのシグマ値のフレネル反射を低減吸光係数については後述します。Fdr


EDIT2:この回答の概念のいくつかをブログ投稿で拡張しました:http : //bit.ly/1Q82rqT


数式内のギリシャ文字の多くが怖くない人のために、反射率プロファイルが各用語で簡単に説明されている私の論文からの抜粋です:

ここに画像の説明を入力してください


ありがとう!まだいくつか疑問に思っています。(1)拡散プロファイル近似を使用しても、BSSRDFモデルでは、入射光を収集するために、表面上の近くの点の半径を積分する必要がありますか?これは、たとえばパストレーサーでどのように達成されますか?特定のポイントの近くのサーフェス上のポイントをサンプリングできるように、データ構造を構築する必要がありますか?(2)なぜ1つのポジティブライトと1つのネガティブライトか?彼らが何らかの方法でお互いをキャンセルするのが目標ですか?
ネイサンリード

1)実際、彼らがモンテカルロ光線トレーサーを使用して論文で提案しているのは、距離と吸光係数に基づく特定の密度の確率的サンプリングです。ダーツ投げでサンプルを見つけ、吸光係数に基づいて適切な許容確率を使用できると思います。と距離。(1/2)
cifz

Jensenが2002年に階層統合アプローチを公開したことは知っていますが、残念ながら私はたまに一度読んだだけなので、ほんの少しだけ覚えています。核となる概念は、サンプリングを拡散近似とクラスターの遠いサンプルから分離することでした。IIRCは、階層構造としてoctreeを使用しました。私は自分自身をオフラインで実装したことがないので、これに関する他の詳細についてはあまり助けになっていません。(2/2)
cifz

2)境界条件をいくつか満たすのはこの方法です。媒体から特定の距離がある特定の外挿された境界でフルエンスがゼロになるようにします。この距離は、散乱係数と散乱アルベドに基づいて計算されます。
cifz

@NathanReedこれが何かを明確にしたかどうかを教えてください、そうでなければ、私は答え自体でこのコメントの考えを広げることができます
-cifz

3

「双極子理論」を簡単に理解するには、まず「拡散理論」からどこから来たのかを理解する必要があります。

また、放射輝度輸送方程式(RTE)を解くことにより、参加メディアでの光輸送のシミュレーションから得られます。

古典的な拡散近似は、放射輝度の1次球面調和関数展開のみを考慮してRTEを解決します。さらに、ソース関数が無限均質媒質の単位パワー等方性点ソースであると仮定すると、古典的な拡散グリーン関数(単極子)が得られます。

半透明のマテリアルをレンダリングする場合、ローカルの表面反射積分と同様に、この問題を再定式化すると便利です。これにより、すべての入射位置と方向について、入射照明LiとBSSRDF Sの畳み込みとして位置と方向の放射輝度Loを計算する積分方程式が得られます。

現在、グリーンの拡散関数では、マテリアルサーフェスによって課される境界条件を考慮していません。これらの条件は、表面の外挿距離でフルエンスがゼロになるように、媒体内のすべての正のソースに対してミラー化された負のソースを媒体の外側に配置することで簡単に処理できます。これは双極子近似です。

したがって、境界条件がなければ、フルエンスは媒体内で体積的に表現されます。表面下散乱をレンダリングするには、表面上のさまざまなポイントを離れる光を計算する必要があります。これを実現するには、ダイポールによる拡散プロファイルを計算して、表面法線方向のフルエンスの方向微分を評価する必要があります。

BSSRDFの最新の進歩は、表面の境界条件をより適切に考慮したアドホックなものを使用して、初期のボリュームおよび参加メディアアプローチを変更したことです。

..について

BSSRDFモデルでは、入射光を収集するために、表面上の近くの点の半径を統合する必要があります。

はい、すべての入射位置と方向にわたって、入射光トゲッターをBSSRDFと統合します。

ここで、ブルートフォース法またはロシアのルーレットを使用したダーツ投げアプローチを採用できます。しかし、どちらも素朴なアプローチです。

SSSは、SSS計算用のクラスターで拡散照明をベイク処理するオクツリーデータ構造を使用した階層型ライトギャザリングを使用する近似方法が開発されたときに、生産(Pixar Renderman)になりました。Rendermanを使用すると、これはREYESによる自然なアプローチであったため、REYESから生成されたすべてのマイクロポリゴンをポイントに簡単に「スプラッティング」して、オクトツリーに挿入できました。

改善の2番目の波は、ディスクベースの重要度サンプリング(Arnold)に依存しています。これは、現在では多くのSSS実装の事実上のアプローチです。一般に、検索ボリューム(球体)を定義し、表面上のディスクにサンプルを配布し、法線方向と直交方向に沿ってプローブして、ボリューム内のすべてのヒットを見つけます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.