algoritmus ray-tracing

29
Algoritmus Ray-Tracing Lukáš Miňo 3Ib

Upload: siran

Post on 12-Jan-2016

63 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Algoritmus Ray-Tracing

Algoritmus Ray-Tracing

Lukáš Miňo3Ib

Page 2: Algoritmus Ray-Tracing

Čo nás čaká

Cieľ algoritmu Úvod do problematiky Algoritmus Zložitosť algoritmu Výhody a nevýhody Zrýchlenie

Page 3: Algoritmus Ray-Tracing

Cieľ Získanie fotorealistického obrazu

Page 4: Algoritmus Ray-Tracing

Potrebné znalosti

Programovanie Analytická geometria Optika

Page 5: Algoritmus Ray-Tracing

Ako to celé funguje

Page 6: Algoritmus Ray-Tracing

Ako to celé funguje

Page 7: Algoritmus Ray-Tracing

Ako to celé funguje

Page 8: Algoritmus Ray-Tracing

Ako to celé funguje

Page 9: Algoritmus Ray-Tracing

Ako to celé funguje

Page 10: Algoritmus Ray-Tracing

Ako to celé funguje

Page 11: Algoritmus Ray-Tracing

Ako to celé funguje

Page 12: Algoritmus Ray-Tracing

Ako to celé funguje

Page 13: Algoritmus Ray-Tracing

Ako to celé funguje

Page 14: Algoritmus Ray-Tracing

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

Page 15: Algoritmus Ray-Tracing

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

Page 16: Algoritmus Ray-Tracing

1. krok 1. nájdi priesečník P lúča R s najbližším

telesom na scéne

Page 17: Algoritmus Ray-Tracing

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

Page 18: Algoritmus Ray-Tracing

2. krok 2. ak P neexistuje (lúč opustil priestor

scény), priraď lúču R farbu pozadia a skonč

Page 19: Algoritmus Ray-Tracing

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

Page 20: Algoritmus Ray-Tracing

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

Page 21: Algoritmus Ray-Tracing

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)

Page 22: Algoritmus Ray-Tracing

Odraz lúča

Page 23: Algoritmus Ray-Tracing

Lom lúča

Page 24: Algoritmus Ray-Tracing

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

Page 25: Algoritmus Ray-Tracing

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

Page 26: Algoritmus Ray-Tracing

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

Page 27: Algoritmus Ray-Tracing

Zrýchlenie

Vysielať zväzky lúčov Obalenie telies guľami Zoradenie objektov podľa x, y, z

Page 28: Algoritmus Ray-Tracing

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

Page 29: Algoritmus Ray-Tracing

Ďakujem za pozornosť