Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ボリュームレンダリング入門(一様媒質編) / Introduction to VPT (hom...
Search
sakanaman
December 12, 2020
0
390
ボリュームレンダリング入門(一様媒質編) / Introduction to VPT (homogeneous)
OSKのLTで発表した際の資料。
一様媒質でVolumetric Path Tracingする方法について説明しました。
sakanaman
December 12, 2020
Tweet
Share
More Decks by sakanaman
See All by sakanaman
ボリュームレンダリング入門(非一様媒質編) / Introduction to VPT (heterogeneous)
sakanaman
1
800
玉虫色シェーダーのススメ
sakanaman
0
640
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Thoughts on Productivity
jonyablonski
67
4.3k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
How to Think Like a Performance Engineer
csswizardry
21
1.2k
BBQ
matthewcrist
85
9.4k
Faster Mobile Websites
deanohume
305
30k
Embracing the Ebb and Flow
colly
84
4.5k
Designing for Performance
lara
604
68k
Producing Creativity
orderedlist
PRO
341
39k
Making the Leap to Tech Lead
cromwellryan
133
9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Transcript
None
物体表面だけ追跡 空間上でも追跡 媒質による散乱・吸収などが表現できる(雲、肌など)
! () " () 散乱係数[1/m] 吸収係数[1/m] これだけ 散乱しやすさ 吸収しやすさ 位相関数
! (, % ) どの方向にどれだけ散乱するのか
! :1.5, " : 1.5 ! :0.1, " : 1.5
レイがどの方向にどれだけ散乱するかを制御している 次の式を満たす " ! " , & & = 1
レイがどの方向にどれだけ散乱するかを制御している 一番有名なのがHG位相関数 1 − ! 4[1 + ! − 2
cos ] " ! () = (−1 ≤ ≤ 1) ()
2次元極座標にてHG位相関数を可視化してみる = −0.75 = 0 = 0.75
HG位相関数を用いた方向サンプリング
HG位相関数を用いた媒質空間の探索
)(, ) # (, ) $ (, )= (%, ′)#
(, ) * * 0 &% '% %, ! ()( , + " ()" (, ) + ( (, ) " (, )
)(, ) # (, ) * * ( (, )
" (, ) , ≔ ! ∫! " ## $ %$ (& ≔ ' + $ )
)(, ) # (, ) * * ( (, )
" (, ) $ , ≔ 0 ( ) , * , * ′
媒質でーす ボリュームレンダリング方程式から追跡すべきレイの方向が2つある事がわかる。 効率的にそれらを分割して評価する方法を学ぼう。
まずは散乱点のサンプリング まずレイを飛ばす
まずは散乱点のサンプリング もういっちょレイ飛ばす
まずは散乱点のサンプリング 境界情報が得られる
まずは散乱点のサンプリング = 0 = !"#$%& ← 距離サンプリング
まずは散乱点のサンプリング = 0 = !"#$%& 012345 ≤ の時 散乱
まずは散乱点のサンプリング = 0 = !"#$%& 012345 > の時
まずは散乱点のサンプリング = 0 = 012345 > の時 透過
= 距離サンプリングは透過率(0, )に比例するpdfを用いる ! = " 0, = " #$/"
cdf計算して逆関数を求めると. . . = − log(1 − ) & 一様媒質だからこそ逆関数が計算できることに注意
散乱方向のサンプリングは前に言った通り位相関数を用いる。 例えば、HG位相関数ならば 確率密度関数は次のようになる + = () ∵ 1 6 78
1 6 8 sin = 1 = cos でーす
ここまで来れば、モンテカルロパストレーシングの推定値を計算する事ができる (ここでは簡単のために発光を0と仮定している) ) , ) = 0, = , )
+ 1 6 =>1? 0, 0 1 @ 3 ), A , A A ) , ) = 0 0, 3 ) , A (, A ) B(A)C() (0, )= (, ) ) ( > ) ≤ >
) , ) = 0 3 ) , A 0,
C B A (, A) = 0 3 6 , A (0, ) =(0, ) ∗ 3 ), A = 0 = (, A) (0, ) ( > ) =(, )) = (0, ) (0, ) =(, )) = 1.0 ( ≤ ) ( > ) 消散係数が複数のカラーチャンネルからなる場合は、 MISなどで計算するのでPDFの部分と綺麗に割り切れないことに注意。
ボリュームレンダリング方程式を経路積分形式に直すと、画素の値が各経路長の寄与の和で表せる(証明は省略) 経路長kでの被積分関数は次のように計算される。BSDFと位相関数が抽象化されている。 https://cs.dartmouth.edu/~wjarosz/publications/novak18monte.html
図のように光源が媒質中にある時に、距離サンプリングすることを考える 遠い! Equiangular Sampling
透過率に比例した距離サンプリングは光源から遠く、寄与が小さい 遠い! ' ∝ (0, ) Equiangular Sampling
Equiangular Sampling
そこで、光源上の一点を基準とした等角分布なるものを考える Equiangular Sampling
光源に近い点からサンプリングできるため高輝度の寄与から優先的に蓄積できる ' ∝ 1 ( − % ) % (
Equiangular Sampling
Equiangular Sampling