Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
3D képszintézis fizikai alapmodellje
Szirmay-Kalos László
2
Képszintézis = valós világ illuziója
Tone mapping pixel Virtuális világ színérzet Valós világ Sugársűrűség = egységnyi látható felület egységnyi térszögbe kisugárzott teljesítménye
3
Ugyanolyan teljesítmény
F(DA1, Dw1) = F(DA2, Dw2) Dw1 DA1 2 DA2 cos2 DA2 Dw2 r1 pixel r2 r22 r12 Dw1 Dw2 DA2 cos2 DA1 cos1 = = F(DA1, Dw1) F(DA2, Dw2) DA1 cos1 Dw1 DA2 cos2 Dw2 = = L
4
Sugársűrűség (Radiancia): L(x,w)
Egy egységnyi látható felület által egységnyi térszög alatt kibocsátott teljesítmény [Watt/ sr/ m2] V dw dF L(x,V) = dF / (dA cos dw) dA
5
Fény-felület kölcsönhatás
Sugársűrűség = Bejövő BRDF Geometria L(x,V) = Lin(x, L) fr (L,x,V) cos’ Helmholtz törvény: V ’ L fr (L,x,V) = fr (V,x,L) Ilumination computation can also be interpreted as the solution of an integral equation, called the rendering equation. This equation expresses the radiance of a point into a given direction as the sum of the own emission of this surface and the reflection of the radiance of those points that are visible from here. From mathematical point of view, the rendering problem is equivalent to the solution of this integral equation at every visible point, that is for every pixel of the screen. Lin x ’
6
Spektrális versus RGB képszintézis
Le() F () Képszintézis Színleképzés R, G, B f r() szorzás lineáris Le[r], Le[g], Le[b] Le() Színleképzés Képszintézis R, G, B Színleképzés f r() f r[r], f r[g], f r[b]
7
Sima felületek Lin F Lin Lin (1-F) 1 2 1 2 F = + (n -1)2 + k2
’ ’ Lin F Lin sin’ n = Lin (1-F) sin 2 2 1 2 cos - (n+k j ) cos’ 1 2 cos ’ - (n+k j ) cos F = + cos+ (n+k j ) cos’ cos’+ (n+k j ) cos (n -1)2 + k2 F F0 + (1-F0) (1-cos’)5, F0 = (n+1)2 + k2
8
Fresnel függvény F (, ’) F(, ’) ’ ’ arany ezüst
9
Tükörirány számítása N a a x cos a = - (v·N) v + N cosa v + N cosa
vr L = vr, V= v ReflectDir( L, N, V ) { L = V - N * (N * V) * 2; } a a x cos a = - (v·N) vr = v + 2 cos a N
10
Törési irány N a N N = cosb = 1-sin2b = 1-sin2a/n2 sin a v + Ncosa
Snellius- Descartes sin a v + Ncosa n = sin b v a v +Ncosa Nsinb N N = sina -Ncosb vt = N sinb - Ncosb b vt = v /n + N(cosa/n- cosb) cosb = 1-sin2b = 1-sin2a/n2 vt vt = v/n + N (cosa/n -(1-(1-cos2 a)/n2))
11
Fénytörő anyagok
12
Sima felület class IdealSurface { Color F; double n; public:
void ReflectionDir(Vec& L, Vec& N, Vec& V) { double cosa = -N * V; L = V + N * cosa * 2; } BOOL RefractionDir(Vec& L, Vec& N, Vec& V, BOOL out) { double cn = n; if ( !out ) cn = 1.0/cn; double disc = 1 - (1 - cosa * cosa) / cn / cn; if (disc < 0) return FALSE; L = N * (cosa / cn - sqrt(disc)) + V / cn; return TRUE; };
13
Rücskös felületek Cook-Torrance He-Torrance q’
14
Diffúz visszaverődés q’ Radiancia a nézeti iránytól független L
Helmholtz: a megvilágítási iránytól is független A BRDF konstans: N L q’ fr (L,x,V) = kd(l)
15
Lambert törvény Lref = Lin kd cos+’ q’ Pont/irány fényforrásra válasz
cos’ = N·L
16
Spekuláris visszaverődés: Phong modell
cosy = R·V R R q’ q’ = diffúz + y V V Kell egy függvény, ami nagy y=0 -ra és gyorsan csökken Lref = Lir ks (cos+y)n fr (L,x,V) = ks cosn y /cos’ Nem szimmetrikus!
17
Diffúz+Phong anyagok diffúz „Saját szín” Phong diffúz + Phong n=
műanyagoknál hullámhossz független Phong diffúz + Phong n=
18
Phong-Blinn modell (OpenGL)
Felezővektor H H = (L+V)/|L+V| N q’ cos+d = N·H V L Lref = Lir ks (cos+d)n fr (L,x,V) = ks cosn d /cos’
19
Képszintézis R, G, B L () Le() L () f r()
pixel Virtuális világ L () Le() L () f r() Pixelben látható felület meghatározása A látható pont szem irányú sugársűrűsége
20
Megoldási kompromisszumok
pixel lokális illumináció rekurzív sugárkövetés globális illumináció
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.