algoritmus ray-tracing
DESCRIPTION
Algoritmus Ray-Tracing. Lukáš Miňo 3Ib. Čo nás čaká. Cieľ algoritmu Úvod do problematiky Algoritmus Zložitosť algoritmu Výhody a nevýhody Zrýchlenie. Cieľ. Získanie fotorealistického obrazu. Potrebné znalosti. Programovanie Analytická geometria Optika. Ako to celé funguje. - PowerPoint PPT PresentationTRANSCRIPT
Algoritmus Ray-Tracing
Lukáš Miňo3Ib
Čo nás čaká
Cieľ algoritmu Úvod do problematiky Algoritmus Zložitosť algoritmu Výhody a nevýhody Zrýchlenie
Cieľ Získanie fotorealistického obrazu
Potrebné znalosti
Programovanie Analytická geometria Optika
Ako to celé funguje
Ako to celé funguje
Ako to celé funguje
Ako to celé funguje
Ako to celé funguje
Ako to celé funguje
Ako to celé funguje
Ako to celé funguje
Ako to celé funguje
Algoritmus sleduj_lúč(lúč R, hĺbka rekurzie H) nájdi priesečník P lúča R s najbližším
telesom na scéne ak P neexistuje (lúč opustil priestor
scény), priraď lúču R farbu pozadia a skonč
ak P existuje, zisti pre všetky viditeľné zdroje L[i] (spojnica PL[i] nepretne žiaden objekt scény) intenzitu Iv := Iv + Idi + Isi
Algoritmus ak hĺbka H neprekročila max. hĺbku
sledovania, vyšli: a) odrazený lúč Rr volaním sleduj_lúč
(Rr, H + 1) b) lomený lúč Rt volaním sleduj_lúč(Rt,
H+1) lúču R priraď výslednú farbu ako súčet
príspevkov osvetlenia, farby odrazeného lúča Rr a farby lomeného lúča Rt
1. krok 1. nájdi priesečník P lúča R s najbližším
telesom na scéne
Priesečník Lúč priamka, resp.polpriamka Bod, vektor A[a1, a2, a3], smerovy_vektor[s1, s2,
s3] Parametrické vyjadrenie priamky: X = A + t * smerovy_vektor Guľa: (x - m) * (x - m) + (y - n) * (y - n) + (z -
p) * (z - p) - r * r == 0
2. krok 2. ak P neexistuje (lúč opustil priestor
scény), priraď lúču R farbu pozadia a skonč
3. krok ak P existuje, zisti
pre všetky viditeľné zdroje L[i] (spojnica PL[i] nepretne žiaden objekt scény) intenzitu
Iv := Iv + Idi + Isi
Phongov osvetľovací model
Iv = Is + Id + Ia
Iv – intenzita odrazeného svetla Is – zrkadlová zložka Id – difúzna zložka Ia – ambientná zložka
4. krok ak hĺbka H
neprekročila max. hĺbku sledovania, vyšli:
a) odrazený lúč Rr volaním sleduj_lúč (Rr, H + 1)
b) lomený lúč Rt volaním sleduj_lúč(Rt, H+1)
Odraz lúča
Lom lúča
5. krok lúču R priraď
výslednú farbu ako súčet príspevkov osvetlenia, farby odrazeného lúča Rr a farby lomeného lúča Rt
Zložitosť algoritmu
rd – hĺbka rekurzie Npix – počet pixelov / počet lúčov Nls – počet svetelných zdrojov Nobj – počet obejktov na scéne
)2( objlspixrd NNNO
Výhody a nevýhody Výhody: Paralelné
spracovanie postupného vytvárania obrazu
priesvitnosť
Nevýhody: Bodové zdroje
(polotiene) Nepriame zdroje
iba z dominantného smeru
Iba pre statickú scénu
Zrýchlenie
Vysielať zväzky lúčov Obalenie telies guľami Zoradenie objektov podľa x, y, z
Použité zdroje http://en.wikipedia.org/wiki/Ray_tracing_(graphics) http://www.scratchapixel.com/joomla/lang-en/basic-lessons/
lesson1.html http://www.codermind.com/articles/Raytracer-in-C++-Part-I-Fir
st-rays.html http://www.few.vu.nl/~kielmann/theses/avdploeg.pdf http://cgg.ms.mff.cuni.cz/~pepca/ http://amigareview.amiga.sk/amiga-review-23/najprv-bola-
myslienka-potom-pocitac http://www.3dstudio.cz/3dsmax/ostatni/index-lomu-svetla-
(ior).html http://grafika.sk/clanok/ps-halftone-efekt/ http://www.math.sk/skripta/node22.html http://www.butkaj.com/fyzika1?
id_menu=561&id_sub=39&id_left=130
Ďakujem za pozornosť