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
400
ボリュームレンダリング入門(一様媒質編) / 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
820
玉虫色シェーダーのススメ
sakanaman
0
670
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Scaling GitHub
holman
459
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Speed Design
sergeychernyshev
28
820
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
A Philosophy of Restraint
colly
203
16k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
660
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Building Your Own Lightsaber
phodgson
104
6.2k
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