Upload
-
View
1.125
Download
4
Embed Size (px)
DESCRIPTION
環境遮蔽,間接光,相互反射
Citation preview
żƣƗźƝƑűƇŹƁÁĆ�Þ12Kĸ\R¿��
ÈVĝó��ëŤ�GřŦŒŔÈV'xuśY;ōũ�
2
ÈVĝóĸ(Ambient Occlusion) • ÈV'�
• ĥ�'ŘŗƦÐ�'�ZŚ�/�• Ľŧťũ�Głŧ3£ōũ�
• ÈV'xuŭb�ŕ÷ō�• )ŔŚçĊŚ'ŭĬĂōũŚśLį�• ĩ{Ń łŘľ�
• cīŚIM'řŦũĩ{�• '¸Ń\ńŘIJÙƤƫ\ńŘÝ�Āƥŭ�œ�• ƃƑƊſƚƋųŃÉ�ʼnŪũ�
3
ÈVĝóřŦũĩ{�
ÈV'xuŃb�ŚUE� ÈVĝóŭì�ŋŐUE�
0.5s� 1.4s�
4
ÈVĝóřŦũĩ{�
ÈVĝóŭì�ŋŐUE� \R¿�ƙƉƟƤƝƀŶſƈű±ƥ�
1.4s� 37.2s�
5
ÈV'ŖÈVĝó���
• ÈV'śĽŧťũ�Głŧ3£ōũ�• b�őŖšŘōňŖŃŕńũ�
• ŋłŋƦľņœłŚ�Głŧ3£ōũ'ś�ŚÀ�řʼnŀŅŧŪũňŖŃĽũ�
E p,n( ) = LA cosθi dωi = π LAΩ∫
E p,n( ) = LA v p, l( )cosθi dωiΩ∫
v p, l( ) = 01{
kA p( ) =1π
v p, l( )cosθi dωiΩ∫ E p,n( ) = kA p( )π LA
6
ÈVĝó���
p0 ŚÈVĝó��ĸkA śĹp1 ŦŨ�ľ�
]ľÒ>śĝóʼnŪŘľĹ�GŚsP ĸ(bent normal)
p0
p1
p2p0
p1
p2
7
ÈVĝóŭì�ŋŐĩ{ Ň�
• a)��@hIJŚĩ{ Ň�×v�
• BRDF ŭÊľŐıa)��@hIJŚĩ{ Ň�×v�
• bent normal
Lo v( ) =cdiffπ
⊗ kAπ LA + v lk( )ELk cosθikk=1
n
∑#
$%
&
'(
Lo v( ) = kAcambπ
π LA + v lk( ) f lk,v( )⊗ ELk cosθikk=1
n
∑
nbent =v l( ) lcosθi dωiΩ∫v l( ) lcosθi dωiΩ∫
8
ĥ�'Ś�h¿uŚē8�
• Eindƪĥ�'Ś�h¿uƦkindƪĥ�'ŚÈVĝó���
• bent normal nbent ŭ�ÊōũUE�
• θ’ikƪbent normal nbent Ŗ'ê�Gĸlk ŚŘōĀ�
�
Lo v( ) = kAcambπ
⊗ Eind + kind ELkk=1
n
∑#
$%
&
'(+ v lk( ) f lk,v( )⊗ ELk cosθik
k=1
n
∑
Lo v( ) = kAcambπ
⊗ Eind + kind ELk cos "θikk=1
n
∑$
%&
'
()+ v lk( ) f lk,v( )⊗ ELk cosθik
k=1
n
∑
9
Cþ�ĸ(Visibility) Ŗĝóuĸ(Obscurance) • ÈVĝóśïpĝóŚšŭgćŖŋŔľũ�
• đ"řĽũşłŚÀ�řŦũĝóśì�ŋŘľ�
• ĝóuĸ(Obscurance) • ĝóÀŠŕŚĈĮĦ�ĸρ(l)�
kA =1π
ρ l( )cosθi dωiΩ∫ld
dmax
ρ(l) = dmaxd
10
Ñ@hŚì��
• ÈVĝóŚšŕśa)Ř\R¿�ŦŨ�ľ�• Ñ@hŭì�ōũ�üŃĽũ�
• Ñ@hŚĂàśırřŽƁƊŃķľ�• ĝóʼnŪŐ�Głŧ(hōũ�hĎu�Li ŖƦŏŚ½Ś�hĎu�Lo ŃßŋľŖ�b�
LiLo
!kA =kA
1− camb 1− kA( )
11
ÈVĝóŚ:ÍŘĂà�
• İÍŘſƣƢ�• ÈVĝó��ĸkA Ŗĸbent normal nbent ś�5ĂàCî�
• :ÍŘſƣƢƦÀ�ŚYz�• ÈVĝó��ĸkA Ŗĸbent normal nbent ŭ:Íř®ŢũňŖŕƦŦŨñľè¤Ń}ŧŪũ�
• À�Ûĥŕ-Çōũ�±�• ƁŹƞƣƢÛĥŕ-Çōũ�±�
12
À�Ûĥŕ-Çōũ�±�
• ŶƒƀŴŹƊƘƇſƛŚĴ½�ëř+ÎÂŚÀ�ŭĠëōũĸ[Bunnell, GPU Gems 2, 2005] • ILM ŃĸPirates of the Caribbean ŕ�ŒŐ�
13
Bunnel Ś�±�• +ÎRŃ+ÎEłŧŗŚ×uĻ{Ś{ijļŭBŇũłŭ®Ţũ�
• )ŔŚ+ÎEłŧŚ{ijŭEĂŋŔÈVĝó��kAŭ®Ţũ�
1− rcosθEmax 1, 4cosθR( )4π+ r2
R
E
e
e
14
ƁŹƞƣƢÛĥŕ-Çōũ�±�
• À�Ûĥŕ-Çōũ�±�• ĂàŽƁƊŃſƣƢŚûĭʼnř�_ōũ�
• ƁŹƞƣƢÛĥŕ-Çōũ�• ſƣƢŚûĭʼnřś�_ŋŘľ�• á=ř�ŀũ�TƤ^ôń Ʀ±êƥŭ�Ŀ�
• Crytek ÕŃĸCrysis ŕÊľŐ�±�• ƉƓƁƎƇƑůőŇŭ�Ŀ�
15
Crytek ÕŚ�±�• �ĺŚËãŚIŨřÆÂř½ŭ�qōũ�
• �qŋŐ½řgŋŔƉƓƁƈƁƊƤƉƓƁƎƇƑůŖŚčƥŭôĿ�
• ƉƓƁƈƁƊř�7ŋŐ½Ś�łŧkAŭ®Ţũ�• </��ŃƉƓƁƈƁƊř�7ŋŐŧkA =1Ŗōũ�
• DžƢƓƟ½ŚġšśĈĮř�ŌŔ·jʼnŎũ�
P
16
Crytek ÕŚ�±�ÈVĝó��� ÈVĝóŘŋ�
17
Crytek ÕŚ�±řŦũè¤�ÈVĝóŘŋ� ÈVĝóĽŨ�
18
Volumetric Obscurance�
19
Luft ŧŚ�±�• Image Enhancement by Unsharp Masking the Depth Buffer • SIGGRAPH 2006
• ƉƓƁƎƇƑůřŰƢſƚƣƓƖƁŹŭłŇũ�
• ďğêŭxąōũ�• á=ŕ�ŽƁƊ • «ÔŕśŘľ�
x
x
x
x
x
z
z
z
z
y
20
Luft ŧŚ�±řŦũè¤�³uƤƉƓƁƎƇƑůŚ*dƥ� ³uŭsº;ŋŐţŚŖŚo�
21
Luft ŧŚ�±řŦũè¤�%Ë#� �åè¤�
22
@hŖl��'`ÍŘÅ挣ŁŊŒŜŘđ��
24
sIJŝŚ�ŨĐš�
• ĢŚŦĿŘsQŘIJŝŚ�ŨĐš�• ��ŚIJřŦũ�ŨĐšŚÁ1ŘUE�• cúŃd��
n
p
25
sIJřŦũ@hŚcú�
• þêŚ@h&řÀ�ŭëņ�ŬŨřƦþêŚ&ř@ċŋŐÀ�ŭëņ�
26
�ŨĐšŭ®ŢũY� • n: @hIJŚ±êƔŹƊƟ�• p: @hIJ�řĽũƤ��Śƥ½Ś�ë�• R(u, v): ƔŹƊƟĸu ŭƔŹƊƟĸv �GřGŇũKċŚY��• T(p): p řsôÖ:ōũY��• S(x, y, z): DČ�Gřĸx, y, z �ōũƁŻƣƞƢź�
F =R n, 0,1, 0( )( )T −p( )
M = F−1S 1,−1,1( )F
n = 0,1, 0( )⇓
M = T p( )S 1,−1,1( )T −p( )
27
Environment Map Bump Mapping ƎƢƓƖƇƐƢź� ÈVƖƇƓƎƢƓƖƇƐƢź�
28
l��
29
ƁƌƟŚ±4�n1 sin θ1( ) = n2 sin θ2( )
t = ri+ w− k( )nr = n1 n2w = − i ⋅n( )n
k = 1+ w− r( ) w+ r( )
t = −cn+ ic ≈1.0
surface
i
t
nθ1
θ2
l��GƔŹƊƟŚà.�
á�ŘĂà�±�
30
@hŖl�ŚæšEŬŎ�
31
�ðÍŘ\R¿��ĥ�'ŭì�ōũ�
32
�ðÍŘ\R¿��
• ½'¸Ś�ũʼnśĈĮŚƩ�ř@�ōũ�• ƞŰƟʼnŃ¾ľ�• �ũʼnŃ�»ř·øōũŐŢAŨ�ľřņľ�
• ĈĮř@�ʼnŎŐŨƦĈĮř�_ŋŘľŖŋŔ�Ŀ�
• ĤŌŐĞnŕ½'¸ŭ½¼ōũ�• '¸Ś�łŨśXŘŗř@hŋŔIMŭ¿ŧō�• '¸ŚÐ�'ŃmłŘľŖňūřţ'Ńmņ�
• XłŧŚ@hŭAŨ�Ŀřś\R¿�ƙƉƟŭÊľũ�
33
XłŧŚ@hŚ�¾�
XłŧŚ@hŘŋ� XłŧŚ@hĽŨ�
34
\R¿�ŚĂà±�
• şŖŮŗŚ�±ś��ŚƩœŚ�±ŭSřŋŔľũ�• ƕŲƢƊžƢƓƞƢź±ƤƠŲƊƠƣſƢź±ƥ�• �ħüã±ƤƝƀŶſƈű±ƥ�
35
ƠŲƊƠƣſƢź±�
• Whitted [1980] • ƙƉƟŭĕęōũ'Ś~iŘ¢ŭēĉōũƕŲƢƊžƢƓƞƢź±�• ÿfíłŧ'¸řGłŒŔ@g�Gř'êŭēĉōũ�
• ĢŚ@hƦl�ƦÐ�'řŦũ¿�ś�ŀũ�• ù,̳uƦƙƣſƜƢƒƝƣƦŽƣƁƈűŹƁƦĥ�¿�Ʀ'°@hŘŗś�ŀŘľ�
36
ƠŲƊƠƣſƢź±�
37
ƙƢƈŷƟơƠŲƊƠƣſƢź±�
• )�Głŧ3£ōũ'êŭì�ŋŔ'êŭÔÄÍř�qōũ�• ĽŧťũØĶŚ'Ś��ŭAŨ�ŀũ�• É�Ë#�řƍŲƂŃHŠŪũ�
• �qōũ'êŚ�ŭWŤō�• '¸!łŧţ'êŭ�qōũ�
• Ƥ?�GƙƢƈŷƟơƠŲƊƠƣſƢź±ƥ�
• Ăà�ĥŃƤŖŔœţŘņƥģľ�• �h¿uŸƚƇſƢź±ŘŗŚ9Ä;�±�
38
ƙƢƈŷƟơƠŲƊƠƣſƢź±�
39
ƙƢƈŷƟơƠŲƊƠƣſƢź±�
Cook[1984]
40
ƝƀŶſƈű±�
• ƙƉƟŚ÷IJĥŭôń�Ŀ'ŚsöÂ�ŭĂàōũ�• ƙƉƟŭiʼnŘƏƇƆř/6ŋŔƦ�åÍŘ'Ś/qŭňŚƏƇƆ=�ŕ÷Åōũ�
• ōŞŔŚƏƇƆĥŭôń�Ŀ'ŭăĒōũĘÝ�×vŭāņňŖřŦŒŔ'Ś/qŭà.ōũ�
• a)��@hIJřĜÊŕńũ�• ĢIJ@hƤōũ=âŘ�IJƥŭAŨ�ŀŘľ�
42
ƝƀŶſƈű±�
0 ƘƇſƛ� ƘƇſƛ/6�
43
ƝƀŶſƈű±�
ƠŲƊƠƣſƢź±� ƝƀŶſƈű±�
44
´E�±Ŗ[¬Ī�±�
• ƠŲƊƠƣſƢź±ŖƝƀŶſƈű±ŭæšEŬŎũ�• ƠŲƊƠƣſƢź±śĢIJ@hŃ}��• ƝƀŶſƈű±ś��@hŃ}��
• ƝƀŶſƈű±řĢIJ@hŭ 8ōũ�• ŏŚĞ/őŇƠŲƊƠƣſƢź±ŭ�Ê�
• Ïłŧýŀũ{ŭĂàōũŐŢŚ�w�• ŽƣƁƈűŹƁŭ�ņŐŢŚ�w�
45
ŽƣƁƈűŹƁƤĬ'¨¦ƥ�
46
´E�±Ŗ[¬Ī�±�
• ƏƁƊƠƣſƢźƤçĊēĉ±ƥŚ�Ê�• þ½łŧû�¡Śþêŭ.ŋŔƦŏŚƨ¡ƨ¡ŚçĊŭéĂÍř¯bōũ�
• ÏłŧÐ�ýŀũōŞŔŚ'Ś��ŭ�Ŀ�• ŽƣƁƈűŹƁŭĨņ�
• ƝƀŶſƈű±ś��IJřŁŇũĥ�¿�ŚĂàőŇřÊľũ�• ƙƢƈŷƟơƠŲƊƠƣſƢź±ś�åË#řü®ʼnŪũĄäŘĞ/Ś�Ëř$ŪŔľũ�
• ĥ�¿�Ś�bśò�ŕĽũ�
47
ƝƀŶſƈűŖƠŲƊƠƣſƢź�
48
ƑŵƊƢƖƇƐƢź±�
• ƑŵƊƢƖƇƓ�• ¿��TŤt��TłŧÃÝŋŐƉƣƄ¥ė�
• ırřûĭŘƙƉƟŚ¿�ŚăĒřţ2ÊCî�
• '¸łŧ�hʼnŪſƣƢ�ŭ��ŋŐƑŵƊƢŕ¥�ʼnŪũ�
• ōŞŔŚƑŵƊƢŚõÜřĦōũ�Tŭ��ōũ�
• ƙƢƈŷƟơƠŲƊƠƣſƢźŖŚæšEŬŎ�• 'ŃĬŠũŖňūŃŬłũŚŕırř9Ä;ʼnŪũ�
49
ƑŵƊƢƖƇƐƢź±�
'¸�
50
ƑŵƊƢƖƇƐƢź±�
ƑŵƊƢƖƇƓ� ƠƢƅƞƢźè¤�
51
\R¿�ŚƞŰƟƄŲƗ-Ç��5ĂàřŦũ�±�
52
Precomputed Radiance Transfer • Sloan[2002]
• Microsoft ŚÓÚí→2011 ś Disney�• Direct X9.0c řæšĐš�
• Ăක�hĎu��ĸ�• \R¿�Ś�5ĂàřŦũķĖ;�
• À��ŚD½řgŋŔ¾ħěłŧ'ŭyŔŐUEŚ{Śœń�ŭĂàŋ�ĚƔŹƊƟŭ®Ţũ�
• IMŚ'¸�TŭÆIJąJĦ�Ś��ŕ÷ō�• ňŚ��Ŗ�ĚƔŹƊƟŚ*Ùŕ@h'ŭ®Ţũ�
• ¾ħěřĽũ�I²Ś'¸ÈVřŁľŔ�9�• k�'¸řg�ŕńŘľ�• À�ŚYzřg�ŕńŘľ�
53
�ĚƔŹƊƟ�
*Ù�
54
DirectX ŚĸPRT ©î�§¹ÍŘ��@h� PRT řŦũè¤�
55
DirectX ŚĸPRT ©î�Ñ@hŃ_OōũUE� ÷IJ���Ń_OōũUE�
56
PRT Śk�'¸ŝŚ�Ê�
Precomputed Local Radiance Transfer for Real-Time Lighting Design Kristensen[2005]
57
PRT Śk�'¸ŝŚ�Ê�
Local, Deformable Precomputed Radiance Transfer Sloan [2005]
58
ķI²Ś'¸ÈVŝŚg��
All-Frequency Shadows Using Non-linear Wavelet Lighting Approximation Ng[2003]
59
Instant Radiosity�
60
光源の配置 光源から光を放射して各点の陰影付け
各点を点光源にして陰影計算
SiliconStudio YEBIS�
61
eĵ�
• ªŚƓơźƝƗśsIJƤ@hIJƥŚ�řFŌNzŭFŌU�řœ�ËŋŔľŠōƧ • https://github.com/tokoik/ggsample12 • mirror.vert Ś*dśĸsimple.vert ŖFŌŕōƧ
• ňŚ��ŚNzŭ@ċŋŔƦ@hIJ�ř�ŨĐŮŕýŀũŦĿřĸmain.cpp Ŗĸmirror.vert ŭY�ŋŔņőʼnľƧ • @hIJŚ±êƔŹƊƟĸn = (0, 1, 0) • @hIJ�ŚĽũ½Ś�ëĸp = (0, 0, 0) • Nzŭ@ċōũŖĴ½Ś±êƔŹƊƟţ@ċōũŚŕĸmirror.vert ţ�«ōũ�üŃĽŨŠōƧ
• main.cpp Ŗĸmirror.vert ŭƘƣƟřµ ŋŔņőʼnľƧ • ĔŨ&ĸ[email protected]�
sIJŝŚ�ŨĐšŭcÅŋŔņőʼnľ�
62
eĵƓơźƝƗŚÉ�Ë#�
%ŚƓơźƝƗ� |ōũè¤�
63