Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Globális illumináció (GI) Szirmay-Kalos László. Képszintézis = valós világ illuziója Tone mapping Valós világszínérzet Sugársűrűség = egységnyi látható.

Hasonló előadás


Az előadások a következő témára: "Globális illumináció (GI) Szirmay-Kalos László. Képszintézis = valós világ illuziója Tone mapping Valós világszínérzet Sugársűrűség = egységnyi látható."— Előadás másolata:

1 Globális illumináció (GI) Szirmay-Kalos László

2 Képszintézis = valós világ illuziója Tone mapping Valós világszínérzet Sugársűrűség = egységnyi látható felület egységnyi térszögbe kisugárzott teljesítménye pixelVirtuális világ

3 L(x,  ) = L e (x,  ) +   L(y,  ’)  f r (  ’,  ) cos  ’ d  ’ Radiancia = Emisszió + Megvilágítás * Visszaverődés x  ’’ ’’ Árnyalási egyenlet L = L e +  L y

4 GI megoldás l Lokális illumináció l Expanzió l Iteráció L n = L e +  L n-1 L = L e +  L = L e +  L e +  2 L = L e +  L e +  2 L e +  3 L =   n L e = L e +  (L e +  (L e +…)) L = L e +  L  L e +  L e

5 Nagydimenziós integrál képszintézis = integrál a fényutak terében kép színtér  nn LeLe R

6 Követett fényutak: Lokális illumináció pixel

7 Követett fényutak: Sugárkövetés pixel

8 Követett fényutak: Globális illumináció pixel

9 Hogyan működik a természet? l 100 W égő fotont emittál másodpercenként l Fotonok által eltalált felület meghatározása fénysebességgel és párhuzamosan l Fotonok véletlenszerűen elnyelődnek, vagy véletlen irányban visszaverődnek l A fotonok egy kis része a szembe jut

10 Szimuláció l elfogadható számítási idő: 10 7 részecske l alapművelet: ray-shooting: egy részecske által eltalált felület l Véletlenszerű irány generálása l Szemhozzájárulás számítása

11 Mintaszám drasztikus csökkentése l Sűrű minták: – fényutak kitöltik a lehetséges teret l Fontosság szerinti mintavétel: – Az alacsonyteljesítményű úttartományokban kevesebb minta is elég l Gyors számítás – útszámítás – koherencia

12 Sűrű minták 0 1  f Error =  f/2/M·1/M·M=  f/2/M=O(M -1 ) Átlagos magasság alap Háromszögek Száma  f (z) dz  1/M  f (z i ) M minta

13 Magasabb dimenziókban  f (x,y) dy dx n =  M mintaszám Error=O(n -1 ) = O(M -0.5 ) x y F(x)F(x) =  F(x) dx

14 Sűrű minták magasabb dimenizókban Véletlen: Monte Carlo method Determinisztikus, Alacsony diszkrepancia quasi Monte Carlo

15 Monte Carlo - quasi-Monte Carlo

16 Monte-Carlo Integálás Integrál = várható érték  f (z) dz   f (z)/p(z) ·p(z) dz   E[f (z)/p(z)]  1/M  f(z m )/p(z m ) Error < 3 · (Standard deviation of f /p) ·M -1/2 99.7% konfidencia szinttel 1 sample/pixel 10 samples/pixel 100 samples/pixel

17 Fontosság szerinti mintavételezés  f /p variációja legyen kicsi: ahol f nagy p is nagy f p f p jórossz Ritka, nagy f /p mintákhasonló f /p minták f /p

18 Véletlen bolyongás l BRDF mintavétel: arányos f r cos  ’ l Fényforrás mintavétel pixel L =L e +   L in (  ’) f r cos  ’ d  ’ w: visszaverődés sűrűség

19 Diffúz BRDF mintavételezés Diffúz BRDF mintavételezés 1. Egyenletes minták az egységnégyzetben 2. Körön kívüli minták eldobása do { x = r 1, y = r 2 } while (x 2 + y 2 > 1) 3. Gömbre vetítés z =  1 - x 2 - y 2 dAdA  dA/cos  Eldobott minták dd d  cos 

20 Végtelen dimenziós integrálok: Orosz rulett 1. MC integrál:  w i  L e +...) d  i = E[w i  L e +...) /p(  i )] = E[ L refl ] 2. Számítsd ki s valószínűséggel, különben 0 3. Kompenzálj s-sel osztással Várható érték: E[ L refl* ] = s E[ L refl /s ] + (1-s) 0 = E[ L refl ] Szórás nő: D 2 [ L refl* ] = s E[ (L refl /s) 2 ] + (1-s) 0 - E 2 [ L refl ]= (1/s - 1) E[(L refl ) 2 ] + D 2 [ L refl ]

21 Fényút építés gathering shooting visibility rays shadow rays No caustics No visible mirrors and glass

22 Gyűjtés FOR each pixel p Color color = 0 FOR sample = 1 to M Ray ray = sample ray from eye through pixel p samplecolor = Trace(ray) color += samplecolor/M ENDFOR WritePixel(p, color) ENDFOR ray p

23 Lövés Clear Image FOR sample = 1to M Ray ray = sample ray from the lightsource power of the ray = L e cos  /p/M Shoot(ray)// add to affected pixel ENDFOR ray p

24 Path tracing BRDF sampling: Pr{next direction}  Brdf cos  ‘ l Russian roulette: Termination with 1- a i l P= L e 1 +L e 2 w 1 /p 1 /a 1 + L e 3 w 1 /p 1 /a 1 w 2 /p 2 /a 2 Le1Le1 Le2Le2 Le3Le3 11 11 11

25 Fényforrás mintavétel Le1*Le1* Le2*Le2* Le3*Le3* Le1*Le1* L e 2 * Le3*Le3* shadow rays L = L e +  L e +  2 L e +  3 L e... = L e +(  L e )+  (  L e )+  2 (  L e ) +...

26 Path Tracer Color Trace(ray, depth) (object, x) = Intersect(ray) IF no intersection THEN RETURN L sky color = Direct Lightsource(x, -ray.dir) if (depth == 0) color += Le (x, -ray.dir) prob = RussianRoulette (normal, -ray.dir) IF (prob == 0) RETURN color prob *= BRDFSampling (newdir, normal, -ray.dir) IF (prob == 0) RETURN color color += Trace(Ray(x, newdir), depth+1) * Brdf(newdir, normal, -ray.dir) cos  ’ / prob RETURN color

27 Foton térkép

28 Foton térkép gyűjtés Hit: Position Direction Power Normal vector  L=  L in f r cos  d  =  d  d  cos  d  )  f r cos  d  L=   i  f r  r 2  Gömb n foton találat

29 Direkt megjelenítés

30 Final gathering

31 Virtuális fényforrások 600 x 600 pix 5 sec

32 Virtuális fényforrások kiterjesztés Caustics lövésből Ideális tükröző, törő felületek: path tracing

33 Metropolis light transport Mutációk: irány, lépésszám váltás

34 Klasszikus fontosság szerinti mintavétel Integrandus: f Sűrűség: pdf 1. I ami közelíti f-t 2. I normalizálása pdf = I /  I dx 2. Valószínűségeloszlás CDF(y) =  y pdf dx 3. Mintavétel: Egyenletes eloszlás transzformálása r in [0,1]: x = CDF -1 (r) Importance: I CDF r x

35 Metropolis mintavételezés Integrandus: f 1. I ami hasonló f 2. Normalizáló konstans: b =  I dx 3. Mintavétel: Mutáció/Elfogadás Folyamat, amely x-et I(x)/b valószínűségsűrűséggel mintavételezi Importance: I x

36 Elfogadási valószínűség l “Bármilyen” mutáció T(x  y ) l Elfogadási valószínűség a(x  y) úgy, hogy a határeloszlás a fontossággal arányos legyen: p(x)  I(x) x y p(x) T(x  y) a(x  y) a(xy )a(yx )a(xy )a(yx ) I(y) T(y  x) I(x) T(x  y ) = Detailed balance Maximális konvergencia: a(x  y) = min {,1 } I(x)·T(x  y) I(y)·T(y  x)

37 Metropolis algoritmus FOR i=1 TO M DO Using z i choose another random, tentative point z t a(z i  z t ) = (I(z t ) T(z t  z i )) /(I (z i ) T(z i  z t )) // accept with probability a(z i  z t ) Generate random number r in [0,1] IF r < a(z i  z t ) THEN z i+1 = z t ELSE z i+1 = z i Use z i+1 in the integral quadrature ENDFOR

38 PRT: Precomputed Radiance Transfer


Letölteni ppt "Globális illumináció (GI) Szirmay-Kalos László. Képszintézis = valós világ illuziója Tone mapping Valós világszínérzet Sugársűrűség = egységnyi látható."

Hasonló előadás


Google Hirdetések