Upload
nicole-morton
View
39
Download
4
Embed Size (px)
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
Citation preview
GlobGlobális illumináció (GI)ális illumináció (GI)
Szirmay-Kalos László
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
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
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
Nagydimenziós integrálNagydimenziós integrál
képszintézis = integrál a fényutak terében
képszíntér
n
Le
R
Követett fényutak:Követett fényutak:Lokális illuminációLokális illumináció
pixel
Követett fényutak:Követett fényutak:SugárkövetésSugárkövetés
pixel
Követett fényutak:Követett fényutak:Globális illuminációGlobális illumináció
pixel
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
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
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
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
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
Sűrű minták magasabb Sűrű minták magasabb dimenizókbandimenizókban
Véletlen:Monte Carlo method
Determinisztikus,Alacsony diszkrepancia quasi Monte Carlo
Monte Carlo - quasi-Monte CarloMonte Carlo - quasi-Monte Carlo
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
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
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
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
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 ]
Fényút építésFényút építés
gathering
shooting
visibility rays
shadow rays
No caustics
No visible mirrors and glass
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
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
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
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) + ...
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
FFoton térképoton térkép
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
DireDirekkt t megjelenítésmegjelenítés
Final gatheringFinal gathering
Virtuális fényforrásokVirtuális fényforrások
600 x 600 pix5 sec
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
Metropolis light transportMetropolis light transport
Mutációk: irány, lépésszám váltás
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
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
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)
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
PRT: Precomputed Radiance TransferPRT: Precomputed Radiance Transfer