61
żƣƗźƝƑűƇŹƁÁĆ Þ12K \R¿

ゲームグラフィックス特論 第12回

  • Upload
    -

  • View
    1.125

  • Download
    4

Embed Size (px)

DESCRIPTION

環境遮蔽,間接光,相互反射

Citation preview

Page 1: ゲームグラフィックス特論 第12回

żƣƗźƝƑűƇŹƁÁĆ�Þ12Kĸ\R¿��

Page 2: ゲームグラフィックス特論 第12回

ÈVĝó��ëŤ�GřŦŒŔÈV'xuśY;ōũ�

2

Page 3: ゲームグラフィックス特論 第12回

ÈVĝóĸ(Ambient Occlusion) • ÈV'�

•  ĥ�'ŘŗƦÐ�'�ZŚ�/�•  Ľŧťũ�Głŧ3£ōũ�

• ÈV'xuŭb�ŕ÷ō�•  )ŔŚçĊŚ'ŭĬĂōũŚśLį�•  ĩ{Ń łŘľ�

• cīŚIM'řŦũĩ{�•  '¸Ń\ńŘIJÙƤƫ\ńŘÝ�Āƥŭ�œ�•  ƃƑƊſƚƋųŃÉ�ʼnŪũ�

3

Page 4: ゲームグラフィックス特論 第12回

ÈVĝóřŦũĩ{�

ÈV'xuŃb�ŚUE� ÈVĝóŭì�ŋŐUE�

0.5s� 1.4s�

4

Page 5: ゲームグラフィックス特論 第12回

ÈVĝóřŦũĩ{�

ÈVĝóŭì�ŋŐUE� \R¿�ƙƉƟƤƝƀŶſƈű±ƥ�

1.4s� 37.2s�

5

Page 6: ゲームグラフィックス特論 第12回

È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

Page 7: ゲームグラフィックス特論 第12回

ÈVĝó���

p0 ŚÈVĝó��ĸkA śĹp1 ŦŨ�ľ�

]ľÒ>śĝóʼnŪŘľĹ�GŚsP ĸ(bent normal)

p0

p1

p2p0

p1

p2

7

Page 8: ゲームグラフィックス特論 第12回

È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

Page 9: ゲームグラフィックス特論 第12回

ĥ�'Ś�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

Page 10: ゲームグラフィックス特論 第12回

Cþ�ĸ(Visibility) Ŗĝóuĸ(Obscurance) • ÈVĝóśïpĝóŚšŭgćŖŋŔľũ�

•  đ"řĽũşłŚÀ�řŦũĝóśì�ŋŘľ�

• ĝóuĸ(Obscurance) •  ĝóÀŠŕŚĈĮĦ�ĸρ(l)�

kA =1π

ρ l( )cosθi dωiΩ∫ld

dmax

ρ(l) = dmaxd

10

Page 11: ゲームグラフィックス特論 第12回

Ñ@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

Page 12: ゲームグラフィックス特論 第12回

ÈVĝóŚ:ÍŘĂà�

• İÍŘſƣƢ�•  ÈVĝó��ĸkA Ŗĸbent normal nbent ś�5ĂàCî�

• :ÍŘſƣƢƦÀ�ŚYz�•  ÈVĝó��ĸkA Ŗĸbent normal nbent ŭ:Íř®ŢũňŖŕƦŦŨñľè¤Ń}ŧŪũ�

•  À�Ûĥŕ-Çōũ�±�•  ƁŹƞƣƢÛĥŕ-Çōũ�±�

12

Page 13: ゲームグラフィックス特論 第12回

À�Ûĥŕ-Çōũ�±�

• ŶƒƀŴŹƊƘƇſƛŚĴ½�ëř+ÎÂŚÀ�ŭĠëōũĸ[Bunnell, GPU Gems 2, 2005] •  ILM ŃĸPirates of the Caribbean ŕ�ŒŐ�

13

Page 14: ゲームグラフィックス特論 第12回

Bunnel Ś�±�• +ÎRŃ+ÎEłŧŗŚ×uĻ{Ś{ijļŭBŇũłŭ®Ţũ�

• )ŔŚ+ÎEłŧŚ{ijŭEĂŋŔÈVĝó��kAŭ®Ţũ�

1− rcosθEmax 1, 4cosθR( )4π+ r2

R

E

e

e

14

Page 15: ゲームグラフィックス特論 第12回

ƁŹƞƣƢÛĥŕ-Çōũ�±�

• À�Ûĥŕ-Çōũ�±�•  ĂàŽƁƊŃſƣƢŚûĭʼnř�_ōũ�

• ƁŹƞƣƢÛĥŕ-Çōũ�•  ſƣƢŚûĭʼnřś�_ŋŘľ�•  á=ř�ŀũ�TƤ^ôń Ʀ±êƥŭ�Ŀ�

• Crytek ÕŃĸCrysis ŕÊľŐ�±�•  ƉƓƁƎƇƑůőŇŭ�Ŀ�

15

Page 16: ゲームグラフィックス特論 第12回

Crytek ÕŚ�±�• �ĺŚËãŚIŨřÆÂř½ŭ�qōũ�

• �qŋŐ½řgŋŔƉƓƁƈƁƊƤƉƓƁƎƇƑůŖŚ­čƥŭôĿ�

• ƉƓƁƈƁƊř�7ŋŐ½Ś�łŧkAŭ®Ţũ�• </��ŃƉƓƁƈƁƊř�7ŋŐŧkA =1Ŗōũ�

• DžƢƓƟ½ŚġšśĈĮř�ŌŔ·jʼnŎũ�

P

16

Page 17: ゲームグラフィックス特論 第12回

Crytek ÕŚ�±�ÈVĝó��� ÈVĝóŘŋ�

17

Page 18: ゲームグラフィックス特論 第12回

Crytek ÕŚ�±řŦũè¤�ÈVĝóŘŋ� ÈVĝóĽŨ�

18

Page 19: ゲームグラフィックス特論 第12回

Volumetric Obscurance�

19

Page 20: ゲームグラフィックス特論 第12回

Luft ŧŚ�±�•  Image Enhancement by Unsharp Masking the Depth Buffer • SIGGRAPH 2006

• ƉƓƁƎƇƑůřŰƢſƚƣƓƖƁŹŭłŇũ�

• ďğêŭxąōũ�• á=ŕ�ŽƁƊ • «ÔŕśŘľ�

x

x

x

x

x

z

z

z

z

y

20

Page 21: ゲームグラフィックス特論 第12回

Luft ŧŚ�±řŦũè¤�³uƤƉƓƁƎƇƑůŚ*dƥ� ³uŭsº;ŋŐţŚŖŚo�

21

Page 22: ゲームグラフィックス特論 第12回

Luft ŧŚ�±řŦũè¤�%Ë#� �åè¤�

22

Page 23: ゲームグラフィックス特論 第12回

@hŖl��'`ÍŘÅ挣ŁŊŒŜŘđ��

24

Page 24: ゲームグラフィックス特論 第12回

sIJŝŚ�ŨĐš�

• ĢŚŦĿŘsQŘIJŝŚ�ŨĐš�•  ��ŚIJřŦũ�ŨĐšŚÁ1ŘUE�•  cúŃd��

n

p

25

Page 25: ゲームグラフィックス特論 第12回

sIJřŦũ@hŚcú�

• þêŚ@h&řÀ�ŭëņ�ŬŨřƦþêŚ&ř@ċŋŐÀ�ŭëņ�

26

Page 26: ゲームグラフィックス特論 第12回

�ŨĐšŭ®Ţũ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

Page 27: ゲームグラフィックス特論 第12回

Environment Map Bump Mapping ƎƢƓƖƇƐƢź� ÈVƖƇƓƎƢƓƖƇƐƢź�

28

Page 28: ゲームグラフィックス特論 第12回

l��

29

Page 29: ゲームグラフィックス特論 第12回

ƁƌƟŚ±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

Page 30: ゲームグラフィックス特論 第12回

@hŖl�ŚæšEŬŎ�

31

Page 31: ゲームグラフィックス特論 第12回

�ðÍŘ\R¿��ĥ�'ŭì�ōũ�

32

Page 32: ゲームグラフィックス特論 第12回

�ðÍŘ\R¿��

• ½'¸Ś�ũʼnśĈĮŚƩ�ř@­�ōũ�•  ƞŰƟʼnŃ¾ľ�•  �ũʼnŃ�»ř·øōũŐŢAŨ�ľřņľ�

•  ĈĮř@­�ʼnŎŐŨƦĈĮř�_ŋŘľŖŋŔ�Ŀ�

• ĤŌŐĞnŕ½'¸ŭ½¼ōũ�•  '¸Ś�łŨśXŘŗř@hŋŔIMŭ¿ŧō�•  '¸ŚÐ�'ŃmłŘľŖňūřţ'Ńmņ�

• XłŧŚ@hŭAŨ�Ŀřś\R¿�ƙƉƟŭÊľũ�

33

Page 33: ゲームグラフィックス特論 第12回

XłŧŚ@hŚ�¾�

XłŧŚ@hŘŋ� XłŧŚ@hĽŨ�

34

Page 34: ゲームグラフィックス特論 第12回

\R¿�ŚĂà±�

• şŖŮŗŚ�±ś��ŚƩœŚ�±ŭSřŋŔľũ�•  ƕŲƢƊžƢƓƞƢź±ƤƠŲƊƠƣſƢź±ƥ�•  �ħüã±ƤƝƀŶſƈű±ƥ�

35

Page 35: ゲームグラフィックス特論 第12回

ƠŲƊƠƣſƢź±�

• Whitted [1980] • ƙƉƟŭĕęōũ'Ś~iŘ¢ŭēĉōũƕŲƢƊžƢƓƞƢź±�•  ÿfíłŧ'¸řGłŒŔ@g�Gř'êŭēĉōũ�

•  ĢŚ@hƦl�ƦÐ�'řŦũ¿�ś�ŀũ�•  ù,̳uƦƙƣſƜƢƒƝƣƦŽƣƁƈűŹƁƦĥ�¿�Ʀ'°@hŘŗś�ŀŘľ�

36

Page 36: ゲームグラフィックス特論 第12回

ƠŲƊƠƣſƢź±�

37

Page 37: ゲームグラフィックス特論 第12回

ƙƢƈŷƟơƠŲƊƠƣſƢź±�

• )�Głŧ3£ōũ'êŭì�ŋŔ'êŭÔÄÍř�qōũ�•  ĽŧťũØĶŚ'Ś��ŭAŨ�ŀũ�•  É�Ë#�řƍŲƂŃHŠŪũ�

•  �qōũ'êŚ�ŭWŤō�•  '¸!łŧţ'êŭ�qōũ�

•  Ƥ?�GƙƢƈŷƟơƠŲƊƠƣſƢź±ƥ�

•  Ăà�ĥŃƤŖŔœţŘņƥģľ�•  �h¿uŸƚƇſƢź±ŘŗŚ9Ä;�±�

38

Page 38: ゲームグラフィックス特論 第12回

ƙƢƈŷƟơƠŲƊƠƣſƢź±�

39

Page 39: ゲームグラフィックス特論 第12回

ƙƢƈŷƟơƠŲƊƠƣſƢź±�

Cook[1984]

40

Page 40: ゲームグラフィックス特論 第12回

ƝƀŶſƈű±�

• ƙƉƟŚ÷IJĥŭôń�Ŀ'ŚsöÂ�ŭĂàōũ�•  ƙƉƟŭiʼnŘƏƇƆř/6ŋŔƦ�åÍŘ'Ś/qŭňŚƏƇƆ=�ŕ÷Åōũ�

•  ōŞŔŚƏƇƆĥŭôń�Ŀ'ŭăĒōũĘÝ�×vŭāņňŖřŦŒŔ'Ś/qŭà.ōũ�

•  a)��@hIJřĜÊŕńũ�•  ĢIJ@hƤōũ=âŘ�IJƥŭAŨ�ŀŘľ�

42

Page 41: ゲームグラフィックス特論 第12回

ƝƀŶſƈű±�

0 ƘƇſƛ� ƘƇſƛ/6�

43

Page 42: ゲームグラフィックス特論 第12回

ƝƀŶſƈű±�

ƠŲƊƠƣſƢź±� ƝƀŶſƈű±�

44

Page 43: ゲームグラフィックス特論 第12回

´E�±Ŗ[¬Ī�±�

• ƠŲƊƠƣſƢź±ŖƝƀŶſƈű±ŭæšEŬŎũ�•  ƠŲƊƠƣſƢź±śĢIJ@hŃ}��•  ƝƀŶſƈű±ś��@hŃ}��

• ƝƀŶſƈű±řĢIJ@hŭ 8ōũ�•  ŏŚĞ/őŇƠŲƊƠƣſƢź±ŭ�Ê�

•  Ïłŧýŀũ{ŭĂàōũŐŢŚ�w�•  ŽƣƁƈűŹƁŭ�ņŐŢŚ�w�

45

Page 44: ゲームグラフィックス特論 第12回

ŽƣƁƈűŹƁƤĬ'¨¦ƥ�

46

Page 45: ゲームグラフィックス特論 第12回

´E�±Ŗ[¬Ī�±�

• ƏƁƊƠƣſƢźƤçĊēĉ±ƥŚ�Ê�•  þ½łŧû�¡Śþêŭ.ŋŔƦŏŚƨ¡ƨ¡ŚçĊŭéĂÍř¯bōũ�

•  ÏłŧÐ�ýŀũōŞŔŚ'Ś��ŭ�Ŀ�•  ŽƣƁƈűŹƁŭĨņ�

•  ƝƀŶſƈű±ś��IJřŁŇũĥ�¿�ŚĂàőŇřÊľũ�•  ƙƢƈŷƟơƠŲƊƠƣſƢź±ś�åË#řü®ʼnŪũĄäŘĞ/Ś�Ëř$ŪŔľũ�

•  ĥ�¿�Ś�bśò�ŕĽũ�

47

Page 46: ゲームグラフィックス特論 第12回

ƝƀŶſƈűŖƠŲƊƠƣſƢź�

48

Page 47: ゲームグラフィックス特論 第12回

ƑŵƊƢƖƇƐƢź±�

• ƑŵƊƢƖƇƓ�• ¿��TŤt��TłŧÃÝŋŐƉƣƄ¥ė�

• ırřûĭŘƙƉƟŚ¿�ŚăĒřţ2ÊCî�

• '¸łŧ�hʼnŪſƣƢ�ŭ��ŋŐƑŵƊƢŕ¥�ʼnŪũ�

• ōŞŔŚƑŵƊƢŚõÜřĦōũ�Tŭ��ōũ�

• ƙƢƈŷƟơƠŲƊƠƣſƢźŖŚæšEŬŎ�• 'ŃĬŠũŖňūŃŬłũŚŕırř9Ä;ʼnŪũ�

49

Page 48: ゲームグラフィックス特論 第12回

ƑŵƊƢƖƇƐƢź±�

'¸�

50

Page 49: ゲームグラフィックス特論 第12回

ƑŵƊƢƖƇƐƢź±�

ƑŵƊƢƖƇƓ� ƠƢƅƞƢźè¤�

51

Page 50: ゲームグラフィックス特論 第12回

\R¿�ŚƞŰƟƄŲƗ-Ç��5ĂàřŦũ�±�

52

Page 51: ゲームグラフィックス特論 第12回

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

Page 52: ゲームグラフィックス特論 第12回

�ĚƔŹƊƟ�

*Ù�

54

Page 53: ゲームグラフィックス特論 第12回

DirectX ŚĸPRT ©î�§¹ÍŘ��@h� PRT řŦũè¤�

55

Page 54: ゲームグラフィックス特論 第12回

DirectX ŚĸPRT ©î�Ñ@hŃ_OōũUE� ÷IJ���Ń_OōũUE�

56

Page 55: ゲームグラフィックス特論 第12回

PRT Śk�'¸ŝŚ�Ê�

Precomputed Local Radiance Transfer for Real-Time Lighting Design Kristensen[2005]

57

Page 56: ゲームグラフィックス特論 第12回

PRT Śk�'¸ŝŚ�Ê�

Local, Deformable Precomputed Radiance Transfer Sloan [2005]

58

Page 57: ゲームグラフィックス特論 第12回

ķI²Ś'¸ÈVŝŚg��

All-Frequency Shadows Using Non-linear Wavelet Lighting Approximation Ng[2003]

59

Page 58: ゲームグラフィックス特論 第12回

Instant Radiosity�

60

光源の配置 光源から光を放射して各点の陰影付け

各点を点光源にして陰影計算

Page 59: ゲームグラフィックス特論 第12回

SiliconStudio YEBIS�

61

Page 60: ゲームグラフィックス特論 第12回

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

Page 61: ゲームグラフィックス特論 第12回

eĵƓơźƝƗŚÉ�Ë#�

%ŚƓơźƝƗ�  |ōũè¤�

63