´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ ıtog ´ epes ´ Szam´ Grafika ´ Gergely Klar
[email protected] ¨ os ¨ Lorand ´ ´ Eotv Tudomanyegyetem Informatikai Kar
´ ev ´ 2010/2011. tavaszi fel
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Tartalom I 1
´ ovet ¨ es ´ Sugark
2
´ lehetos ˝ egek ´ Gyors´ıtasi
3
¨ es ´ Foton kovet
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
Tartalom
1
´ ovet ¨ es ´ Sugark ´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
2
´ lehetos ˝ egek ´ Gyors´ıtasi
3
¨ es ´ Foton kovet
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
Albrecht Durer, 1525 ¨
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ol ´ fuggetlen ´ Minden pixelre egymast ul meg azok ¨ ¨ hatarozzuk ´ – oldjuk meg az arnyal ´ ´ es ´ takarasi ´ feladatot. sz´ınet asi
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ol ´ fuggetlen ´ Minden pixelre egymast ul meg azok ¨ ¨ hatarozzuk ´ – oldjuk meg az arnyal ´ ´ es ´ takarasi ´ feladatot. sz´ınet asi
Turner Whitted, 1980
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
L(~x , ω) = Le (~x , ω) +
Z
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
fr (~x , ω 0 , ω)L(~x , ω 0 )(−ω 0 · ~n)dω 0
Ω
´ utj ´ ket ´ fele ´ komponensre bontjuk: koherens es ´ A feny ´ at inkoherens komponensre Koherens eset ´ ´ visszaverod ˝ es ´ Az optikanak megfelelo˝ idealis ¨ od ˝ es”) ´ ´ tor ¨ es ´ (”tukr es ¨ oz ´ kovetj ¨ ´ utj ´ Tovabb uk ¨ a feny ´ at
Inkoherens eset ´ Minden egyeb ´ ´ direkt megvilag´ ´ ıtas ´ at ´ vesszuk Csak az absztrakt fenyforr as ¨ figyelembe
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
L(~x , ω) = Le (~x , ω) +
Z
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
fr (~x , ω 0 , ω)L(~x , ω 0 )(−ω 0 · ~n)dω 0
Ω
´ utj ´ ket ´ fele ´ komponensre bontjuk: koherens es ´ A feny ´ at inkoherens komponensre Koherens eset ´ ´ visszaverod ˝ es ´ Az optikanak megfelelo˝ idealis ¨ od ˝ es”) ´ ´ tor ¨ es ´ (”tukr es ¨ oz ´ kovetj ¨ ´ utj ´ Tovabb uk ¨ a feny ´ at
Inkoherens eset ´ Minden egyeb ´ ´ direkt megvilag´ ´ ıtas ´ at ´ vesszuk Csak az absztrakt fenyforr as ¨ figyelembe
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
L(~x , ω) = Le (~x , ω) +
Z
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
fr (~x , ω 0 , ω)L(~x , ω 0 )(−ω 0 · ~n)dω 0
Ω
´ utj ´ ket ´ fele ´ komponensre bontjuk: koherens es ´ A feny ´ at inkoherens komponensre Koherens eset ´ ´ visszaverod ˝ es ´ Az optikanak megfelelo˝ idealis ¨ od ˝ es”) ´ ´ tor ¨ es ´ (”tukr es ¨ oz ´ kovetj ¨ ´ utj ´ Tovabb uk ¨ a feny ´ at
Inkoherens eset ´ Minden egyeb ´ ´ direkt megvilag´ ´ ıtas ´ at ´ vesszuk Csak az absztrakt fenyforr as ¨ figyelembe
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
Koherens komponens
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
Inkoherens komponens
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci
L(~x , ω) = Le (~x , ω) +
Z
fr (~x , ω 0 , ω)L(~x , ω 0 )(−ω 0 · ~n)dω 0
Ω
helyett L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt )
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci
L(~x , ω) = Le (~x , ω) +
Z
fr (~x , ω 0 , ω)L(~x , ω 0 )(−ω 0 · ~n)dω 0
Ω
helyett L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt )
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ovet ¨ es ´ Sugark
L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt )
´ ol ´ sugarakat ind´ıtunk minden pixel A szempozicob ¨ eppontj ´ ´ keresztul. koz an ¨ ´ ´ at ´ adja meg −ω-t (minusz Ennek a sugarnak az irany omega!). ´ es ´ a sz´ınter ´ objetumainak szemhez legkozelebbi ¨ A sugar ´ metszespontja adja meg ~x -et. ˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
Emisszio´
L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt ) ´ az ω nezeti ´ ´ ´ erkez ´ Az ~x feluleti pontbol, iranyb ol o˝ radiancia, a ¨ ´ sugarz ´ asa ´ – emisszioja ´ – miatt. felulet ¨ sajat
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ Ambiens feny
L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt ) ¨ ´ ka a felulet, La a kornyezet ambiens egyutthat oja. ¨ ¨ ¨ ıti azt a fenymennyis ´ ´ Az egyenlet ambiens tagja kozel´ eget, ami ´ anosan ´ ´ azok helyzetet ´ ol ˝ es ´ altal jelen van, minden feluletet er, ¨ ´ ´ ´ fuggetlen az absztrakt fenyforr asokt ol ul. ¨ ¨
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ´ Fenyforr asok
L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt )
˝ eseket ´ ¨ ´ Az inkoherens visszarod fogalja ossze a szummas tag ´ ´ ´ at ´ vesszuk Csak a fenyforr asok direkt hatas ¨ figyelembe ´ csak akkor, ha az az ~x feluleti ´ latszik ´ Es pontbol ¨
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ´ Fenyforr asok
L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt )
´ ´ ol ´ a feluleti ´ ωl a fenyforr asb pontba mutato´ egysegvektor. ¨ ´ spekularis ´ visszaverod ˝ est ´ fr (~x , ωl , ω) most csak a diffuz ´ es jellemzo˝ BRDF. ´ es ´ a fenyforr ´ ´ fele mutato´ vektor −ωl · ~n a feluleti normalis as ¨ ´ ´ szog ¨ koszinusza. altal bezart ˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ´ Fenyforr asok
L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt )
´ ´ teljes´ıtmenye ´ ´ pozicioja ´ ~xl akkor Ha az l fenyforr as Φl es Li (~x , ωl ) = v (~x , ~xl ) ·
Φl . |~x − ~xl |2
´ ´ a v (~x , ~xl ) ∈ [0, 1] fuggv eny: Mi van a feluleti pont es ¨ ¨ ´ ´ koz ¨ ott? ¨ fenyforr as ˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ´ Fenyforr asok
L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt ) ´ v (~x , ~xl ) ∈ [0, 1] fuggv eny ¨ ´ ´ nem lathat ´ ˝ = 0, ha a fenyforr as o´ ~x -bol, = 1, ha igen, ´ ¨ ott. ¨ ∈ (0, 1), ha atlatsz o´ objektumok vannak a ketto˝ koz ´ ıtas ´ ahoz ´ ´ ´ v kiszam´ ugynevezett arny eksugarat ind´ıtunk ´ ~x -bol ´ az objektumokkal valo´ metszes ´ et ´ nezz ´ uk. ˝ ~xl -fele, es ¨ ˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
¨ od ˝ es ´ Tukr ¨ oz
L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt )
¨ anyb ´ ´ erkez ´ ´ ´ A tuk ol o˝ fenyt kr aranyban vesszuk ¨ orir ¨ figyelembe. ´ tuk ¨ anynak ´ ωr az idealis megfelelo˝ beeso˝ vektor. ¨ orir ´ ıtasa ´ azonos L(~x , ω) kiszam´ ´ ıtas ´ aval ´ L(~x , ωr ) kiszam´ ´ (rekurzio!). ´ sugar: ´ szempozicio´ helyett ~x , es ´ a sugar ´ iranya ´ Uj −ωr . ˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ or ¨ es ´ Fenyt
L(~x , ω) = Le (~x , ω) + ka · La +
X
fr (~x , ωl , ω)Li (~x , ωl )(−ωl · ~n)
l∈Lights
+ kr · L(~x , ωr ) + kt · L(~x , ωt )
¨ esi-ir ´ ´ ´ erkez ´ ´ ´ A tor anyb ol o˝ fenyt kt aranyban vesszuk ¨ figyelembe. ¨ esir ´ anynak ´ ωt a tor megfelelo˝ beeso˝ vektor. ´ ıtasa ´ megint azonos L(~x , ω) kiszam´ ´ ıtas ´ aval ´ L(~x , ωt ) kiszam´ ´ (rekurzio!). ´ sugar: ´ szempozicio´ helyett ~x , es ´ a sugar ´ iranya ´ Uj −ωt . ˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ Sugarak ind´ıtasa
´ ol ´ ind´ıtunk sugarakat minden pixel A szempoziciob ¨ eppontj ´ ´ keresztul. koz an ¨ Hogyan kapjuk meg ezeket a sugarakat? ´ Szem/kamera tulajdonsagok: szempozicio´ (eye), ´ (center), egy pont amire nez ´ felfele iranyt megado´ vektor (up), ´ ¨ (fovx, fovy). ny´ılassz og
´ Ezek seg´ıtsegvel fogjuk megadni az i, j-dik pixel ´ ait. ´ koordinat
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ Keressuk adott u, v , w (jobbkezes!) ¨ a kamera altal ´ koordinatarendszert! ´ ´ Nezzen a kamera −Z iranyba! w=
eye − center |eye − center |
˝ Az X tengely legyen meroleges mind w-re, mind az up ´ iranyra! up × w u= |up × w| ˝ ´ w-re is: Az Y tengely meroleges u-ra es v =w ×u
˝ as ´ 5. eload
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ ai ´ i, j pixel koordinat Legyen p az i, j pixel ¨ eppontja. ´ koz Ekkor p = eye + (αu + βv − w). Ahol α = tan
fovx j − width/2 + 2 width/2
,
´ es β = tan
fovy height/2 − i + 2 hight/2
.
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ Sugarak ind´ıtasa
void raytrace(Camera c, Image img) { for (int j=0; j
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ 1. trace fuggv eny ¨
Color trace(Ray r, int d) { if (d>max_d) return La; (q, x) = intersect(r); if (nincs metsz´ espont) return La; omega = -r.direction; c = Le(x, omega)+ k_a * La; foreach(Light l in lights) { r_s = Ray(x, x_l - x); (q_s, x_s) = intersect(r_s); if (nincs metsz´ espont || (x_s-x).length() > (x_l-x).length()) c += f_r(x, omega_l, omega) * omega_l.dot(n) * } // ... ˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ 2. trace fuggv eny ¨ // ... if (k_r(x) > 0) { r_r = Ray(x, reflect(r.direction, n)); c += k_r(x)*trace(r_r, d+1) } if (k_t(x) > 0) { r_t = Ray(x, refract(r.direction, n, eta)); c += k_t(x)*trace(r_t, d+1) } return c; }
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ objektumok Transzformalt
´ os ´ matrixa. ´ Legyen M egy adott objektum transzformaci ´ es ´ az M-mel transzformalt ´ Feladat: Keressuk ¨ r sugar ´ ´ objektum metszespontj at! ´ ´ ¨ Problema: Hogyan transzformalunk egy gombot? ´ Transzformaljuk ´ ´ a sugarat! Megoldas: inkabb
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ objektumok Transzformalt
´ os ´ matrixa. ´ Legyen M egy adott objektum transzformaci ´ es ´ az M-mel transzformalt ´ Feladat: Keressuk ¨ r sugar ´ ´ objektum metszespontj at! ´ ´ ¨ Problema: Hogyan transzformalunk egy gombot? ´ Transzformaljuk ´ ´ a sugarat! Megoldas: inkabb
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ objektumok Transzformalt
´ os ´ matrixa. ´ Legyen M egy adott objektum transzformaci ´ es ´ az M-mel transzformalt ´ Feladat: Keressuk ¨ r sugar ´ ´ objektum metszespontj at! ´ ´ ¨ Problema: Hogyan transzformalunk egy gombot? ´ Transzformaljuk ´ ´ a sugarat! Megoldas: inkabb
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ Tetel ´ es ´ az M-mel transzformalt ´ objektum metszespontja ´ Az r sugar ´ r sugar ´ es ´ az objektum ≡ az M−1 -zel transzformalt ´ metszespontja. ´ transzformaci ´ o´ M ∈ R4×4 , homogen ~p = (px , py , pz ) → [px , py , pz , 1] ´ kezdopontja: ˝ Sugar ~d = (dx , dy , dz ) → [dx , dy , dz , 0]. ´Igy nem hat ´ iranya: ´ Sugar ´ ra´ az eltolas. ´ sugar ´ r 0 : ~pM−1 + t · ~dM−1 Transzformalt
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ Tetel ´ es ´ az M-mel transzformalt ´ objektum metszespontja ´ Az r sugar ´ r sugar ´ es ´ az objektum ≡ az M−1 -zel transzformalt ´ metszespontja. ´ transzformaci ´ o´ M ∈ R4×4 , homogen ~p = (px , py , pz ) → [px , py , pz , 1] ´ kezdopontja: ˝ Sugar ~d = (dx , dy , dz ) → [dx , dy , dz , 0]. ´Igy nem hat ´ iranya: ´ Sugar ´ ra´ az eltolas. ´ sugar ´ r 0 : ~pM−1 + t · ~dM−1 Transzformalt
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ´ ´ Metszesvizsg alat: hasznaljuk r 0 -t! ~q , akkor az eredeti terben ~q · M. ´ ´ Metszespont: ´ ´ ´ ´ Tavols agokat ujra az eredeti terben! ´ kell szamolni −T ~n helyett ~n · M (inverz-transzponalt). ´ ´ Normalvektorok:
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ´ ´ Metszesvizsg alat: hasznaljuk r 0 -t! ~q , akkor az eredeti terben ~q · M. ´ ´ Metszespont: ´ ´ ´ ´ Tavols agokat ujra az eredeti terben! ´ kell szamolni −T ~n helyett ~n · M (inverz-transzponalt). ´ ´ Normalvektorok:
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ´ ´ Metszesvizsg alat: hasznaljuk r 0 -t! ~q , akkor az eredeti terben ~q · M. ´ ´ Metszespont: ´ ´ ´ ´ Tavols agokat ujra az eredeti terben! ´ kell szamolni −T ~n helyett ~n · M (inverz-transzponalt). ´ ´ Normalvektorok:
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ os ´ egyenlet Egyszerus´ ˝ ıtett illuminaci ´ Sugarak ind´ıtasa ´ od ´ Pszeudok ´ objektumok Transzformalt
´ ´ ´ Metszesvizsg alat: hasznaljuk r 0 -t! ~q , akkor az eredeti terben ~q · M. ´ ´ Metszespont: ´ ´ ´ ´ Tavols agokat ujra az eredeti terben! ´ kell szamolni −T ~n helyett ~n · M (inverz-transzponalt). ´ ´ Normalvektorok:
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
Tartalom
1
´ ovet ¨ es ´ Sugark
2
´ lehetos ˝ egek ´ Gyors´ıtasi Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
3
¨ es ´ Foton kovet
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ ´ gyors´ıtasa ´ Metszesvizsg alat
´ ´ az intersect Az algoritmus sebessege leginkabb ´ sebesseg ´ et ´ ol ˝ fugg. fuggv eny ¨ ¨ ´ ezt? Hogyan gyors´ıthatnank ´ ´ olyan objektumokra, amiket Ne vizsgaljunk metszest ´ biztosan nem metsz a sugar! ´ ´ olyan objektumokra, amik Ne vizsgaljunk metszest ´ ´ ´ biztosan tavolabbi metszespontot adnak, mint a mar ´ megtalalt!
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ ´ gyors´ıtasa ´ Metszesvizsg alat
´ ´ az intersect Az algoritmus sebessege leginkabb ´ sebesseg ´ et ´ ol ˝ fugg. fuggv eny ¨ ¨ ´ ezt? Hogyan gyors´ıthatnank ´ ´ olyan objektumokra, amiket Ne vizsgaljunk metszest ´ biztosan nem metsz a sugar! ´ ´ olyan objektumokra, amik Ne vizsgaljunk metszest ´ ´ ´ biztosan tavolabbi metszespontot adnak, mint a mar ´ megtalalt!
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ ´ gyors´ıtasa ´ Metszesvizsg alat
´ ´ az intersect Az algoritmus sebessege leginkabb ´ sebesseg ´ et ´ ol ˝ fugg. fuggv eny ¨ ¨ ´ ezt? Hogyan gyors´ıthatnank ´ ´ olyan objektumokra, amiket Ne vizsgaljunk metszest ´ biztosan nem metsz a sugar! ´ ´ olyan objektumokra, amik Ne vizsgaljunk metszest ´ ´ ´ biztosan tavolabbi metszespontot adnak, mint a mar ´ megtalalt!
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ ´ gyors´ıtasa ´ Metszesvizsg alat
´ ´ az intersect Az algoritmus sebessege leginkabb ´ sebesseg ´ et ´ ol ˝ fugg. fuggv eny ¨ ¨ ´ ezt? Hogyan gyors´ıthatnank ´ ´ olyan objektumokra, amiket Ne vizsgaljunk metszest ´ biztosan nem metsz a sugar! ´ ´ olyan objektumokra, amik Ne vizsgaljunk metszest ´ ´ ´ biztosan tavolabbi metszespontot adnak, mint a mar ´ megtalalt!
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
Befoglalo´ keretek
¨ Minden objektumot vegyunk valamilyen kerettel ¨ korbe ´ ´ amivel gyorsan lehet metszest szamolni. ´ metszi az objektumot, akkor metsze biztosan Ha egy sugar a keretet is! ´ nagyobb a valosz´ ´ ınus ´ Ford´ıtva legyen minel ˝ ege! ¨ ´ ´ Befoglalo´ gomb: masodfok u´ egyenlet megoldas. ´ a tengelyekkel parhuzamosak, ´ Befoglalo´ doboz: elei ´ o´ algoritmussal gyorsan Cohen-Sutherland szakaszvag ´ ıthato. ´ szam´
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
Befoglalo´ keretek
¨ Minden objektumot vegyunk valamilyen kerettel ¨ korbe ´ ´ amivel gyorsan lehet metszest szamolni. ´ metszi az objektumot, akkor metsze biztosan Ha egy sugar a keretet is! ´ nagyobb a valosz´ ´ ınus ´ Ford´ıtva legyen minel ˝ ege! ¨ ´ ´ Befoglalo´ gomb: masodfok u´ egyenlet megoldas. ´ a tengelyekkel parhuzamosak, ´ Befoglalo´ doboz: elei ´ o´ algoritmussal gyorsan Cohen-Sutherland szakaszvag ´ ıthato. ´ szam´
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
Befoglalo´ keretek
¨ Minden objektumot vegyunk valamilyen kerettel ¨ korbe ´ ´ amivel gyorsan lehet metszest szamolni. ´ metszi az objektumot, akkor metsze biztosan Ha egy sugar a keretet is! ´ nagyobb a valosz´ ´ ınus ´ Ford´ıtva legyen minel ˝ ege! ¨ ´ ´ Befoglalo´ gomb: masodfok u´ egyenlet megoldas. ´ a tengelyekkel parhuzamosak, ´ Befoglalo´ doboz: elei ´ o´ algoritmussal gyorsan Cohen-Sutherland szakaszvag ´ ıthato. ´ szam´
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
Befoglalo´ keretek
¨ Minden objektumot vegyunk valamilyen kerettel ¨ korbe ´ ´ amivel gyorsan lehet metszest szamolni. ´ metszi az objektumot, akkor metsze biztosan Ha egy sugar a keretet is! ´ nagyobb a valosz´ ´ ınus ´ Ford´ıtva legyen minel ˝ ege! ¨ ´ ´ Befoglalo´ gomb: masodfok u´ egyenlet megoldas. ´ a tengelyekkel parhuzamosak, ´ Befoglalo´ doboz: elei ´ o´ algoritmussal gyorsan Cohen-Sutherland szakaszvag ´ ıthato. ´ szam´
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
Befoglalo´ keretek
¨ Minden objektumot vegyunk valamilyen kerettel ¨ korbe ´ ´ amivel gyorsan lehet metszest szamolni. ´ metszi az objektumot, akkor metsze biztosan Ha egy sugar a keretet is! ´ nagyobb a valosz´ ´ ınus ´ Ford´ıtva legyen minel ˝ ege! ¨ ´ ´ Befoglalo´ gomb: masodfok u´ egyenlet megoldas. ´ a tengelyekkel parhuzamosak, ´ Befoglalo´ doboz: elei ´ o´ algoritmussal gyorsan Cohen-Sutherland szakaszvag ´ ıthato. ´ szam´
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
Hierachikus befoglalo´ keretek
¨ A kisebb kereteket nagyobb keretekbe fogjuk ossze. ´ kapunk. Fa struktur ´ at ´ at ´ csak akkor kell kiert ´ ekelni, ´ ¨ errel ´ Egy reszf ha a gyok van ´ metszes.
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ ´ Szabalyos felosztas
´ ´ ´ sz´ınteret. Egy szabalyos 3D raccsal lefedjuk ¨ az egesz ˝ ´ minden cellahoz ´ Elofeldolgoz as: feljegyezzuk ¨ a beletartozo´ objektumokat. ´ ´ unk ´ ´ ıtast, ´ amik Hasznalat: csak azokra vegz am´ ¨ metszessz ´ adott cellaban benne vannak. ˝ ´ ´ gyorsan szam´ ´ ıthatok ´ Elonye: A vizsgaland o´ cellak szakazrajzolo´ algoritmussal. ´ anya: ´ ´ uk Hatr Feleslegesen sok cella – nagyresz teret ¨ ures ¨ fed le.
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ ´ Szabalyos felosztas
´ ´ ´ sz´ınteret. Egy szabalyos 3D raccsal lefedjuk ¨ az egesz ˝ ´ minden cellahoz ´ Elofeldolgoz as: feljegyezzuk ¨ a beletartozo´ objektumokat. ´ ´ unk ´ ´ ıtast, ´ amik Hasznalat: csak azokra vegz am´ ¨ metszessz ´ adott cellaban benne vannak. ˝ ´ ´ gyorsan szam´ ´ ıthatok ´ Elonye: A vizsgaland o´ cellak szakazrajzolo´ algoritmussal. ´ anya: ´ ´ uk Hatr Feleslegesen sok cella – nagyresz teret ¨ ures ¨ fed le.
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ ´ Szabalyos felosztas
´ ´ ´ sz´ınteret. Egy szabalyos 3D raccsal lefedjuk ¨ az egesz ˝ ´ minden cellahoz ´ Elofeldolgoz as: feljegyezzuk ¨ a beletartozo´ objektumokat. ´ ´ unk ´ ´ ıtast, ´ amik Hasznalat: csak azokra vegz am´ ¨ metszessz ´ adott cellaban benne vannak. ˝ ´ ´ gyorsan szam´ ´ ıthatok ´ Elonye: A vizsgaland o´ cellak szakazrajzolo´ algoritmussal. ´ anya: ´ ´ uk Hatr Feleslegesen sok cella – nagyresz teret ¨ ures ¨ fed le.
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ ´ Szabalyos felosztas
´ ´ ´ sz´ınteret. Egy szabalyos 3D raccsal lefedjuk ¨ az egesz ˝ ´ minden cellahoz ´ Elofeldolgoz as: feljegyezzuk ¨ a beletartozo´ objektumokat. ´ ´ unk ´ ´ ıtast, ´ amik Hasznalat: csak azokra vegz am´ ¨ metszessz ´ adott cellaban benne vannak. ˝ ´ ´ gyorsan szam´ ´ ıthatok ´ Elonye: A vizsgaland o´ cellak szakazrajzolo´ algoritmussal. ´ anya: ´ ´ uk Hatr Feleslegesen sok cella – nagyresz teret ¨ ures ¨ fed le.
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ ´ Szabalyos felosztas
´ ´ ´ sz´ınteret. Egy szabalyos 3D raccsal lefedjuk ¨ az egesz ˝ ´ minden cellahoz ´ Elofeldolgoz as: feljegyezzuk ¨ a beletartozo´ objektumokat. ´ ´ unk ´ ´ ıtast, ´ amik Hasznalat: csak azokra vegz am´ ¨ metszessz ´ adott cellaban benne vannak. ˝ ´ ´ gyorsan szam´ ´ ıthatok ´ Elonye: A vizsgaland o´ cellak szakazrajzolo´ algoritmussal. ´ anya: ´ ´ uk Hatr Feleslegesen sok cella – nagyresz teret ¨ ures ¨ fed le.
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ fa Oktalis
¨ ´ Fa gyokere: a teljes sz´ınteret magaban foglalo´ ´ ´ u˝ befoglalo´ doboz (AABB) tengelyekkel parhuzamos el ´ ´ Vagjuk ezt nyolc egyenlo˝ reszre! ´ sok objektum van benne, Minden uj ´ dobozra: ha eleg ´ osztjuk, kul ¨ ´ akkor tovabb megallunk. ¨ onben ˝ ´ ´ feleslegesen. Elony: az ures reszeket nem osztjuk tovabb ¨ ´ any: ´ ´ as. ´ Hatr bonyolultabb bejar
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ fa Oktalis
¨ ´ Fa gyokere: a teljes sz´ınteret magaban foglalo´ ´ ´ u˝ befoglalo´ doboz (AABB) tengelyekkel parhuzamos el ´ ´ Vagjuk ezt nyolc egyenlo˝ reszre! ´ sok objektum van benne, Minden uj ´ dobozra: ha eleg ´ osztjuk, kul ¨ ´ akkor tovabb megallunk. ¨ onben ˝ ´ ´ feleslegesen. Elony: az ures reszeket nem osztjuk tovabb ¨ ´ any: ´ ´ as. ´ Hatr bonyolultabb bejar
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ fa Oktalis
¨ ´ Fa gyokere: a teljes sz´ınteret magaban foglalo´ ´ ´ u˝ befoglalo´ doboz (AABB) tengelyekkel parhuzamos el ´ ´ Vagjuk ezt nyolc egyenlo˝ reszre! ´ sok objektum van benne, Minden uj ´ dobozra: ha eleg ´ osztjuk, kul ¨ ´ akkor tovabb megallunk. ¨ onben ˝ ´ ´ feleslegesen. Elony: az ures reszeket nem osztjuk tovabb ¨ ´ any: ´ ´ as. ´ Hatr bonyolultabb bejar
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ fa Oktalis
¨ ´ Fa gyokere: a teljes sz´ınteret magaban foglalo´ ´ ´ u˝ befoglalo´ doboz (AABB) tengelyekkel parhuzamos el ´ ´ Vagjuk ezt nyolc egyenlo˝ reszre! ´ sok objektum van benne, Minden uj ´ dobozra: ha eleg ´ osztjuk, kul ¨ ´ akkor tovabb megallunk. ¨ onben ˝ ´ ´ feleslegesen. Elony: az ures reszeket nem osztjuk tovabb ¨ ´ any: ´ ´ as. ´ Hatr bonyolultabb bejar
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
´ fa Oktalis
¨ ´ Fa gyokere: a teljes sz´ınteret magaban foglalo´ ´ ´ u˝ befoglalo´ doboz (AABB) tengelyekkel parhuzamos el ´ ´ Vagjuk ezt nyolc egyenlo˝ reszre! ´ sok objektum van benne, Minden uj ´ dobozra: ha eleg ´ osztjuk, kul ¨ ´ akkor tovabb megallunk. ¨ onben ˝ ´ ´ feleslegesen. Elony: az ures reszeket nem osztjuk tovabb ¨ ´ any: ´ ´ as. ´ Hatr bonyolultabb bejar
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
kd-fa ´ ´ faval: ´ ¨ epen ´ ´ minden s´ık Problema az oktalis mindig koz es ´ vag ´ – nem veszi figyelembe az objektumokat. menten ´ fa: keresesi ´ ido˝ ≈ fa magasaga. ´ ´ fa Oktalis DE! az oktalis kiegyensulyozatlan. ´ ´ esben ´ ´ kd-fa: minden lep egyetlen s´ıkkal vagunk, ami egy ˝ tengelyre meroleges. Sorrend: X , Y , Z , X , Y , Z , .... ´ Felezo˝ s´ık elhelyezese: ´ ¨ epvonal ´ ´ terbeli koz modszer ¨ epvonal ´ ´ test koz modszer ¨ eg ´ modell alapu´ modszer ´ kolts
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
kd-fa ´ ´ faval: ´ ¨ epen ´ ´ minden s´ık Problema az oktalis mindig koz es ´ vag ´ – nem veszi figyelembe az objektumokat. menten ´ fa: keresesi ´ ido˝ ≈ fa magasaga. ´ ´ fa Oktalis DE! az oktalis kiegyensulyozatlan. ´ ´ esben ´ ´ kd-fa: minden lep egyetlen s´ıkkal vagunk, ami egy ˝ tengelyre meroleges. Sorrend: X , Y , Z , X , Y , Z , .... ´ Felezo˝ s´ık elhelyezese: ´ ¨ epvonal ´ ´ terbeli koz modszer ¨ epvonal ´ ´ test koz modszer ¨ eg ´ modell alapu´ modszer ´ kolts
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
kd-fa ´ ´ faval: ´ ¨ epen ´ ´ minden s´ık Problema az oktalis mindig koz es ´ vag ´ – nem veszi figyelembe az objektumokat. menten ´ fa: keresesi ´ ido˝ ≈ fa magasaga. ´ ´ fa Oktalis DE! az oktalis kiegyensulyozatlan. ´ ´ esben ´ ´ kd-fa: minden lep egyetlen s´ıkkal vagunk, ami egy ˝ tengelyre meroleges. Sorrend: X , Y , Z , X , Y , Z , .... ´ Felezo˝ s´ık elhelyezese: ´ ¨ epvonal ´ ´ terbeli koz modszer ¨ epvonal ´ ´ test koz modszer ¨ eg ´ modell alapu´ modszer ´ kolts
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
Befoglalo´ keretek ´ ´ Terfeloszt o´ modszerek
kd-fa ´ ´ faval: ´ ¨ epen ´ ´ minden s´ık Problema az oktalis mindig koz es ´ vag ´ – nem veszi figyelembe az objektumokat. menten ´ fa: keresesi ´ ido˝ ≈ fa magasaga. ´ ´ fa Oktalis DE! az oktalis kiegyensulyozatlan. ´ ´ esben ´ ´ kd-fa: minden lep egyetlen s´ıkkal vagunk, ami egy ˝ tengelyre meroleges. Sorrend: X , Y , Z , X , Y , Z , .... ´ Felezo˝ s´ık elhelyezese: ´ ¨ epvonal ´ ´ terbeli koz modszer ¨ epvonal ´ ´ test koz modszer ¨ eg ´ modell alapu´ modszer ´ kolts
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ Le´ıras ˝ ok ¨ es ´ hatr ´ anyok ´ Elony
Tartalom
1
´ ovet ¨ es ´ Sugark
2
´ lehetos ˝ egek ´ Gyors´ıtasi
3
¨ es ´ Foton kovet ´ Le´ıras ˝ ok ¨ es ´ hatr ´ anyok ´ Elony
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ Le´ıras ˝ ok ¨ es ´ hatr ´ anyok ´ Elony
´ ovet ¨ es ´ ”kiford´ıtasa”: ´ ´ ´ ´ fotonokat A sugark a fenyforr asokb ol ´ azok utj ´ kovetj ¨ ind´ıtunk, es uk. ¨ ´ at ¨ Addig haldunk, am´ıg ´ nem utk ¨ mar semmivel, vagy ¨ ozhet ˝ teljesen elnyelodik, vagy ´ a vet´ıto˝ ernyot ˝ – gyakorlatilag egy pixelt. eltalalja
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ Le´ıras ˝ ok ¨ es ´ hatr ´ anyok ´ Elony
´ ovet ¨ es ´ ”kiford´ıtasa”: ´ ´ ´ ´ fotonokat A sugark a fenyforr asokb ol ´ azok utj ´ kovetj ¨ ind´ıtunk, es uk. ¨ ´ at ¨ Addig haldunk, am´ıg ´ nem utk ¨ mar semmivel, vagy ¨ ozhet ˝ teljesen elnyelodik, vagy ´ a vet´ıto˝ ernyot ˝ – gyakorlatilag egy pixelt. eltalalja
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ Le´ıras ˝ ok ¨ es ´ hatr ´ anyok ´ Elony
˝ ok ¨ es ´ hatr ´ anyok ´ Elony ˝ Elonye ´ illuminaci ´ o´ es ´ radiozit ´ as ´ ingyen. Globalis ´ ´ Kausztikus hatasok automatikusan adodnak. ´ ıtani. Sub-surface scattering-et egyszeru˝ megvalos´ Egyszeru. ˝ ´ parhuzamos´ ´ ´ Jol ıthato. ´ anya ´ Hatr ´ kiszam´ ´ ıtasa ´ napokig tarthat! Lasssssu! ´ Egyetlen kep
˝ as ´ 5. eload
´ ovet ¨ es ´ Sugark ´ lehetos ˝ egek ´ Gyors´ıtasi ¨ es ´ Foton kovet
´ Le´ıras ˝ ok ¨ es ´ hatr ´ anyok ´ Elony
˝ ok ¨ es ´ hatr ´ anyok ´ Elony ˝ Elonye ´ illuminaci ´ o´ es ´ radiozit ´ as ´ ingyen. Globalis ´ ´ Kausztikus hatasok automatikusan adodnak. ´ ıtani. Sub-surface scattering-et egyszeru˝ megvalos´ Egyszeru. ˝ ´ parhuzamos´ ´ ´ Jol ıthato. ´ anya ´ Hatr ´ kiszam´ ´ ıtasa ´ napokig tarthat! Lasssssu! ´ Egyetlen kep
˝ as ´ 5. eload