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
810
玉虫色シェーダーのススメ
sakanaman
0
660
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
The Language of Interfaces
destraynor
155
24k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Mobile First: as difficult as doing things right
swwweet
222
9k
We Have a Design System, Now What?
morganepeng
51
7.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
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