glob ális illumináció (gi)

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

Upload: nicole-morton

Post on 31-Dec-2015

43 views

Category:

Documents


4 download

DESCRIPTION

Glob ális illumináció (GI). Szirmay-Kalos László. Tone mapping. pixel. Virtuális világ. . . . . Képszintézis = valós világ illuziója. 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. . Árnyalási egyenlet. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Glob ális illumináció (GI)

GlobGlobális illumináció (GI)ális illumináció (GI)

Szirmay-Kalos László

Page 2: Glob ális illumináció (GI)

Képszintézis = valós világ illuziójaKé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ögbekisugárzott teljesítménye

pixel Virtuális világ

Page 3: Glob ális illumináció (GI)

L(x, ) = Le (x, ) + L(y, ’) fr(’,) cos’ d’

Radiancia = Emisszió + Megvilágítás * Visszaverődés

x

Árnyalási egyenletÁrnyalási egyenlet

L = Le + L

y

Page 4: Glob ális illumináció (GI)

GI megoldásGI megoldás Lokális illumináció

Expanzió

IterációLn = Le+ Ln-1

L = Le+L = Le+Le+ 2L =

Le+Le+ 2 Le + 3L = nLe =

Le+(Le+ (Le +…))

L = Le+L Le+Le

Page 5: Glob ális illumináció (GI)

Nagydimenziós integrálNagydimenziós integrál

képszintézis = integrál a fényutak terében

képszíntér

n

Le

R

Page 6: Glob ális illumináció (GI)

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

pixel

Page 7: Glob ális illumináció (GI)

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

pixel

Page 8: Glob ális illumináció (GI)

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

pixel

Page 9: Glob ális illumináció (GI)

Hogyan működik a természet?Hogyan működik a természet?

100 W égő 1042 fotont emittál másodpercenként Fotonok által eltalált felület meghatározása

fénysebességgel és párhuzamosan Fotonok véletlenszerűen elnyelődnek, vagy

véletlen irányban visszaverődnek A fotonok egy kis része a szembe jut

Page 10: Glob ális illumináció (GI)

SzimulációSzimuláció

elfogadható számítási idő: 107 részecske alapművelet: ray-shooting: egy részecske által

eltalált felület Véletlenszerű irány generálása Szemhozzájárulás számítása

Page 11: Glob ális illumináció (GI)

Mintaszám drasztikus Mintaszám drasztikus csökkentésecsökkentése

Sűrű minták:– fényutak kitöltik a lehetséges teret

Fontosság szerinti mintavétel:– Az alacsonyteljesítményű úttartományokban

kevesebb minta is elég Gyors számítás

– útszámítás– koherencia

Page 12: Glob ális illumináció (GI)

Sűrű mintákSűrű minták

0 1

f

Error = f/2/M·1/M·M= f/2/M=O(M-1)

Átlagos magasság

alapHáromszögek

Száma

f (z) dz 1/M f (zi )

M minta

Page 13: Glob ális illumináció (GI)

Magasabb dimenziókbanMagasabb 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) dx

Page 14: Glob ális illumináció (GI)

Sűrű minták magasabb Sűrű minták magasabb dimenizókbandimenizókban

Véletlen:Monte Carlo method

Determinisztikus,Alacsony diszkrepancia quasi Monte Carlo

Page 15: Glob ális illumináció (GI)

Monte Carlo - quasi-Monte CarloMonte Carlo - quasi-Monte Carlo

Page 16: Glob ális illumináció (GI)

Monte-Carlo IntegálásMonte-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(zm)/p(zm)Error < 3·(Standard deviation of f /p) ·M-1/2

99.7% konfidencia szinttel

1 sample/pixel10 samples/pixel100 samples/pixel

Page 17: Glob ális illumináció (GI)

Fontosság szerinti Fontosság szerinti mintavételezésmintavételezés

f /p variációja legyen kicsi:

ahol f nagy p is nagy

fp

f

p

jó rossz

Ritka, nagy f /p mintákhasonló f /p minták

f /p f /p

Page 18: Glob ális illumináció (GI)

Véletlen bolyongásVéletlen bolyongás

BRDF mintavétel: arányos fr cos’

Fényforrás mintavétel

pixel

L =Le +Lin (’) fr cos’ d’w: visszaverődés sűrűség

Page 19: Glob ális illumináció (GI)

Diffúz BRDF mintavételezésDiffúz BRDF mintavételezés

1. Egyenletes minták az egységnégyzetben2. Körön kívüli minták eldobása

do { x = r1, y = r2 } while (x2 + y2 > 1)

3. Gömbre vetítész = 1 - x2

- y2

dA

dA/cos

Eldobott minták

d

d cos

Page 20: Glob ális illumináció (GI)

Végtelen dimenziós Végtelen dimenziós integrálok: Orosz rulettintegrálok: Orosz rulett

1. MC integrál: wiLe +...) di = E[wiLe +...) /p(i)] = E[ Lrefl ]

2. Számítsd ki s valószínűséggel, különben 03. Kompenzálj s-sel osztással

Várható érték: E[ Lrefl* ] = s E[ Lrefl/s ] + (1-s) 0 = E[ Lrefl ]Szórás nő: D2[ Lrefl* ] = s E[ (Lrefl/s)2 ] + (1-s) 0 - E2[ Lrefl ]= (1/s - 1) E[(Lrefl)2 ] + D2[ Lrefl ]

Page 21: Glob ális illumináció (GI)

Fényút építésFényút építés

gathering

shooting

visibility rays

shadow rays

No caustics

No visible mirrors and glass

Page 22: Glob ális illumináció (GI)

GyűjtésGyű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

Page 23: Glob ális illumináció (GI)

Lövés Lövés

Clear ImageFOR sample = 1to M Ray ray = sample ray from the lightsource

power of the ray = Le cos /p/M Shoot(ray) // add to affected pixelENDFOR

ray p

Page 24: Glob ális illumináció (GI)

Path tracingPath tracing

BRDF sampling: Pr{next direction} Brdf cos ‘ Russian roulette: Termination with 1- ai

P= Le1+Le

2 w1/p1/a1 + Le3 w1/p1/a1 w2/p2/a2

Le1

Le2

Le3

1 1 1

Page 25: Glob ális illumináció (GI)

Fényforrás mintavételFényforrás mintavétel

Le1*

Le2*

Le3*

Le1* Le

2 * Le

3*

shadow rays

L = Le+ Le+ 2Le + 3Le ... =

Le+(Le)+ ( Le )+ 2(Le) + ...

Page 26: Glob ális illumináció (GI)

Path TracerPath TracerColor Trace(ray, depth) (object, x) = Intersect(ray) IF no intersection THEN RETURN Lsky

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’ / probRETURN color

Page 27: Glob ális illumináció (GI)

FFoton térképoton térkép

Page 28: Glob ális illumináció (GI)

Foton tFoton térkép gyűjtés érkép gyűjtés Hit:

PositionDirectionPowerNormal vector

L=Lin fr cosd = ddcosd) fr cosd

L= ifrr2

Gömbn foton találat

Page 29: Glob ális illumináció (GI)

DireDirekkt t megjelenítésmegjelenítés

Page 30: Glob ális illumináció (GI)

Final gatheringFinal gathering

Page 31: Glob ális illumináció (GI)

Virtuális fényforrásokVirtuális fényforrások

600 x 600 pix5 sec

Page 32: Glob ális illumináció (GI)

Virtuális fényforrások Virtuális fényforrások kiterjesztéskiterjesztés

Caustics lövésből

Ideális tükröző, törő felületek: path tracing

Page 33: Glob ális illumináció (GI)

Metropolis light transportMetropolis light transport

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

Page 34: Glob ális illumináció (GI)

Klasszikus fontosság szerinti mintavételKlasszikus 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ásCDF(y) =

y pdf dx

3. Mintavétel: Egyenletes eloszlás transzformálása

r in [0,1]: x = CDF-1(r)

Importance: I

CDFr

x

Page 35: Glob ális illumináció (GI)

Metropolis mintavételezésMetropolis 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

Page 36: Glob ális illumináció (GI)

ElfogadElfogadási valószínűségási valószínűség “Bármilyen” mutáció T(xy )

Elfogadási valószínűség a(xy) úgy, hogy a határeloszlás a fontossággal arányos legyen: p(x) I(x)

xy

p(x) T(xy) a(xy) a(xy )

a(yx )

I(y) T(yx)

I(x) T(xy )=

Detailed balance Maximális konvergencia:

a(x y) = min{ ,1}I(x)·T(x y)

I(y)·T(y x)

Page 37: Glob ális illumináció (GI)

Metropolis algoritmusMetropolis algoritmus

FOR i=1 TO M DO Using zi choose another random, tentative point zt a(zi zt) = (I(zt) T(zt zi)) /(I (zi) T(zi zt)) // accept with probability a(zi zt) Generate random number r in [0,1] IF r < a(zi zt) THEN zi+1 = zt ELSE zi+1 = zi

Use zi+1 in the integral quadratureENDFOR

Page 38: Glob ális illumináció (GI)

PRT: Precomputed Radiance TransferPRT: Precomputed Radiance Transfer