花粉症の薬効きすぎ
去年はあんまりひどくなかったんだけど今年は花粉が多いので(体感で違いが分かるぐらい多い)、薬を買って飲んだら頭がぼんやりする。
薬を飲んだ後は機械類の運転をするなっていう一文にプログラムも含めて欲しい。
ぼんやりとしている頭で今まであんまり考えてこなかった、表面下散乱の実装を色々考えてます。
それとは別に、最近のライティング事情に関して似たような用語や意味が少し被っている用語が多くて、
名前は良く聞くけど実際のところどれとどれをどう使えばいいのよ!?と思うのは俺だけだろうか。
俺だけかも知れない。
俺的解釈
・PRT(Precomputed Diffuse Radiance Transfer)
輝度を事前に計算する手法
・GI(Global Illumination)
オブジェクトに反射した光などすべてを光源として扱うライティング方法。
・PI(Precomputed Irradiance)
事前計算された自己遮蔽項。
・BRDF(Bidirectional Reflectance Distribution Function)
光沢反射計算方法。
・BSSRDF(Bidirectional Subsurface Scattering Reflectance Distribution Function)
SS(表面下光散乱)の計算方法。
・SS(Subsurface Scattering)
表面下光散乱
ここで自分が混乱するのは、GIは光が回り込んだりするのも扱うので表面下散乱等とごっちゃになってしまうことだ。
そこでこう考える事にした。
PRTはGIの実装方法
GIは入力項
PIはフィルタ
BRDFとBSSRDFは出力関数
出力 = BRDF(PI(GI))+BSSRDF(PI(GI))
事前計算の係数の展開方法としてSH展開等が利用される。
SH展開は球面のでこぼこを近似する展開なので色々なところで使えるかも。
でもGIはアンビエントに近い光なのでそもそもBRDF等に突っ込んでいいのか良く分からない。
もしかするとこうなのかも
λ = 頂点に対する入力平行光源
GI = アンビエント
出力 = PI(GI) + BRDF(PI(λ)) + BSSRDF(PI(λ))
こっちの方があってる気もするなー。
あくまで俺的解釈なので今更なに言ってんだとか、まちがってるよとかあれば教えてください。