グローバルイルミネーション(12)散乱位相関数が消える?

散乱の位相関数は計算上(見かけ上は)不要になる??。
関与媒質などを考慮するにはボリュームレンダリング方程式を計算する事になる。
イメージ 1
 
 
 
 
 
 
 
 
 
 
 
 
 
Pが位相関数。
例えばHenyey-Greenstein phase function.で、パラメータgの値によって次式で与えられる。
イメージ 2
 
 
 
 
 
g1に近いと前方散乱。-1に近いと後方散乱。0だと等方的な一様散乱。
散乱を正直にシミュレーションするには位相関数に従って光の方向を変えてやる。
つまり、パストレーシングではある確率で散乱イベントとして散乱処理を行う。
この散乱処理で実際に光路を位相関数に従って変化させる。それで光路の曲がり方がθで表される。そこでθは何らかの乱数で決定するわけだがそのばらつき方が上記の式に従うよなものにする。それには常套手段を使う。
まず、累積確率密度関数cdfを計算する。
イメージ 3
逆関数法によって(ζは一様乱数)
イメージ 4
 
 
 
 
イメージ 5
 
 
 
 
 
これで角度の分布が位相関数になるような式が得られる。つまり一様乱数でそのような分布をなす計算が出来る。
で、あるならば位相関数とは角度分布の確率密度関数probability density function(PDF)という事になる。
 
ここで計算は乱数を使ったモンテカルロ積分をやっている事を思い出す。イメージ 6
 
 
 
イメージ 7
 
 
 
 
積分範囲内D確率密度関数 に従ってサンプリングする。
精度を上げるにはNを大きくする。つまり、単純な総和をNで割ればよい。
 
積分しようとしていた式は大雑把に書けば p(x)L(x) のような式だった。
Lは冒頭のLiの計算の意味。
 
さて、これをモンテカルロ積分するということはp(x)L(x) / pdf (x) なわけだから角度分布を決めた後(位相関数がPDFとして機能したあと)は計算式は
(x)L(x) / p (x) なわけで、つまり L(x)だけが残る。
つまり、散乱の位相関数は計算上(見かけ上は)不要になる。のでは無いだろうか?
というのが冒頭の??なのである。
 
以前はpdfに相当する部分がちゃんと計算出来ていなかった事もあるのだが変なgの値をゼロから離れるに従って変なノイズが出てしまって何処が変なのか分からなかったのだが上の考えで実際、計算してみるとそのようなノイズは綺麗に無くなってしまった。
 
という分けなのだがいつもの通りでこれが正しいのかは自信が無い。
 
しかし、落ち着いて考えるとサンプリングを例えば一様な球面サンプルにするとpdfは
1/4πなのでp(x)L(x) /(1/4π) なわけで言ってみれば位相関数に従った重点サンプリング( importance sampling)という事になるのだろう。