Sledenje žarka. (Ray Tracing)

Podobni dokumenti
Metoda globalne osvetlitve Simulacija svetlobnih žarkov naravna osvetlitev odboji lom svetlobe mehke sence globinska ostrina zabrisano gibanje Uporaba

FGG13

Vektorji - naloge za test Naloga 1 Ali so točke A(1, 2, 3), B(0, 3, 7), C(3, 5, 11) b) A(0, 3, 5), B(1, 2, 2), C(3, 0, 4) kolinearne? Naloga 2 Ali toč

resitve.dvi

Osnove matematicne analize 2018/19

CpE & ME 519

Strojna oprema

Fizikalne osnove svetlobe

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Resonance v Osončju Resonanca 1:2 Druge orbitalne resonance: 2:3 Pluto Neptune 2:4 Tethys Mimas (Saturnovi luni) 1:2 Dione Enceladus (Saturnovi luni)

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi

11. Navadne diferencialne enačbe Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogo

7. VAJA A. ENAČBA ZBIRALNE LEČE

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-junij-17.dvi

ANALITIČNA GEOMETRIJA V RAVNINI

Microsoft Word - ARRS-MS-BR-07-A-2009.doc

Društvo za elektronske športe - spid.si Vaneča 69a 9201 Puconci Pravila tekmovanja na EPICENTER LAN 12 Hearthstone Na dogodku izvaja: Blaž Oršoš Datum

Uradni list RS - 12(71)/2005, Mednarodne pogodbe

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

DELOVNI LIST ZA UČENCA

Microsoft Word - ARRS-MS-CEA-03-A-2009.doc

DN5(Kor).dvi

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

Microsoft Word - avd_vaje_ars1_1.doc

FGG02

C:/Users/Matevz/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-januar-februar-15.dvi

resitve.dvi

RAČUNALNIŠKA ORODJA V MATEMATIKI

Microsoft PowerPoint - Java-rekurzija.ppt

Slikovne transformacije_2017_18_DKT

glava.dvi

Teorija kodiranja in kriptografija 2013/ AES

3dsMax-Particle-Paint

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015

Microsoft Word - UP_Lekcija04_2014.docx

Acrobat Distiller, Job 30

Navodila za pisanje diplomskih nalog UM FERI

Microsoft Word - 9.vaja_metoda porusnih linij.docx

MATEMATIKA 2. LETNIK GIMNAZIJE G2A,G2B Sestavil: Matej Mlakar, prof. Ravnatelj: Ernest Simončič, prof. Šolsko leto 2011/2012 Število ur: 140

Microsoft Word - CNS-SW3 Quick Guide_SI

INDIVIDUALNI PROGRAM PREDMET: MATEMATIKA ŠOL. LETO 2015/2016 UČITELJ: ANDREJ PRAH Učenec: Razred: 7. Leto šolanja: Ugotovitev stanja: Učenec je lani n

NAVADNA (BIVARIATNA) LINEARNA REGRESIJA O regresijski analizi govorimo, kadar želimo opisati povezanost dveh numeričnih spremenljivk. Opravka imamo to

FAKULTETA ZA STROJNIŠTVO Matematika 2 Pisni izpit 9. junij 2005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite bese

Metode objektivnega vrednotenja 2016_17_DKT

Brownova kovariancna razdalja

Mere kompleksnih mrež (angl. Network Statistics) - Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike

PowerPoint Presentation

Matematika II (UN) 1. kolokvij (13. april 2012) RE ITVE Naloga 1 (25 to k) Dana je linearna preslikava s predpisom τ( x) = A x A 1 x, kjer je A

Vizualizacija medicinskih volumetricnih podatkov v realnem casu

LABORATORIJSKE VAJE IZ FIZIKE

Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y

GRAFIČNA KARTICA UVOD: Grafična kartica skrbi za prikaz slike na računalniškem monitorju. VHODNI SIGNAL: Grafična kartica pošlje katodni cevi monitorj

FGG14

Univerza v Ljubljani Naravoslovnotehniška fakulteta Oddelek za tekstilstvo Sledenje pogledu (Eye tracking) Seminarska naloga pri predmetu Interaktivni

Rešene naloge iz Linearne Algebre

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi

Vrste

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite

COBISS3/Medknjižnična izposoja

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Jani Bizjak Iskanje predmetov v prostoru z mobilno pl

PRESENT SIMPLE TENSE The sun gives us light. The sun does not give us light. Does It give us light? Raba: Za splošno znane resnice. I watch TV sometim

Namesto (x,y)R uporabljamo xRy

Osnove verjetnosti in statistika

Osnove statistike v fizični geografiji 2

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

MERE SREDNJE VREDNOSTI

VIDEOANALIZA GIBANJ Za kratke projektne naloge lahko dijaki z domačimi digitalnimi fotoaparati posnamejo nekaj sekundne videofilme poljubnih gibanj. U

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

eAsistent izpis

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi

Domače vaje iz LINEARNE ALGEBRE Marjeta Kramar Fijavž Fakulteta za gradbeništvo in geodezijo Univerze v Ljubljani 2007/08 Kazalo 1 Vektorji 2 2 Analit

PREVENTIVA in PRESEJANJE - Mateja Bulc

MERJENJE GORIŠČNE RAZDALJE LEČE

Preštudirati je potrebno: Floyd, Principles of Electric Circuits Pri posameznih poglavjih so označene naloge, ki bi jih bilo smiselno rešiti. Bolj pom

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nejc Ramovš Problem izomorfnega podgrafa DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mento

Datum in kraj

Microsoft Word - Astronomija-Projekt19fin

Oblikovanje 3D scene in spletnega vodi\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

UNIVERZA NA PRIMORSKEM

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Navodila za uporabo Mini snemalnik

Prevodnik_v_polju_14_

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1

Velika logična pošast Eulerjeva metoda reševanja diofantskih enačb Dana je diofantska enačba ax+by=c. Enačbo rešujemo samo v primeru, če sta a in b me

Matematika 2

Poslovilno predavanje

resitve.dvi

PowerPointova predstavitev

3. Preizkušanje domnev

11 Barvni izvlečki-HELENA TGP06

Transkripcija:

Sledenje žarka (Ray Tracing)

Sledenje žarka (ray tracing) Metoda upodabljanja prizora. Dobra za upodabljanje površin, ki so tako odbojne kot prosojne. S sledenjem žarka lahko realiziramo globalno osvetlitev. Sledenje žarka (kot ga poznamo danes), je razvil Turner Whitted (1980).

Sledenje žarka (ray tracing) Na naš pogled prizora vplivajo le žarki svetlobe, ki od objektov prihajajo do kamere. Žarek je definiran kot vektor v določeni začetni točki (kamera). Računanje poti vseh žarkov svetlobe je računsko kompleksno. Večina žarkov iz virov svetlobe nikoli ne dosežejo kamere; zato računamo le pot žarkov, ki dosežejo kamero.

Sledenje žarka (ray tracing) Računanje izvaja vzvratno. Začne pri kameri in ugotavlja kaj zadane drugi konec žarka.

Rekurzivno sledenje žarka How would we compute lighting? Let s reverse the light ray that got to our eye Vector to the light Reflected Ray Refraction Ray

Rekurzivno sledenje žarka Shadows Vector to the light Reflected Ray Refraction Ray

Rekurzivno sledenje žarka For each ray, we repeat the process How many levels of recursion should we do? Refraction Ray Vector to the light Reflected Ray

Algoritem sledenja žarka for (j=0;j<image_height;j++) for (i=0;i<image_width;i++) result=checkforintersection(i,j) SetPixel(i,j,result); CheckForIntersection(i,j) ray = vector from eye through pixel on display plane if (DetermineIntersection(ray, color)) return color; O(i*j*testi sekanja)

Algoritem sledenja žarka Določi koordinatni sistem, kjer so položaji pikslov označ eni v u-v ravnini kamere. Iz položaja očesa določimo pot žarka, ki prehaja skozi sredino posameznega piksla. Za vsak žarek testiraj posamezno površino v prizoru, da ugotoviš če jo žarek seka. Vsak žarek bodisi seka površino seka vir svetlobe gre v neskončnost

Sledenje žarka (ray tracing) Č e je sekana površina: Določi njen č as zadetka t. Shrani vse čase zadetka za vsak žarek za vsako površino. Objekt z najmanjšim časom zadetka je najbližje očesu. Določi točko zadetka na objektu. V točki zadetka na površini objekta določi normalni vektor. Izračunaj barvo svetlobe, ki se odbije od površine v smeri očesa in jo shrani v piksel.

Sledenje žarka (ray tracing) Izračunaj odbite (zrcalne površine) in lomljene (prosojne površine) žarke. Za vsak žarek ponovi: tako primarno kot sekundarno. Jakost osvetlitve, ki jo dolo imo pikslu dobimo s č seštevanjem prispevkov jakosti njegovih žarkov (drevo sledenja žarka).

Računanje položaja posameznega piksla Okno kamere H Položaj piksla je (u c, v r ) vrstica r -W W -H stolpec c u c = c(širina enega stolpca) W u c = c 2W ncols W v r = H r 2 nrows H

Računanje poti žarka skozi vsak posamezen piksel Da najdemo 3D koordinate piksla, začnemo v točki očesa (eyepoint) in gremo vzdolž n, u in v smeri kamere. r = eye Nn + u c u + v r v (N je razdalja od točke očesa do bližnje ravnine.) v piksel r u n točka očesa

Računanje poti žarka skozi vsak posamezen piksel Izraz za pot žarka parametriziraj s t, tj. časom zadetka. Naj bo r(t) = eye za t = 0 in r(t) = r za t = 1. Za r = eye Nn + u c u + v r v r ( t) = eye(1 t) ( eye Nn + u c u + v Enačbo lahko zapišemo tudi kot: r v)t r ( t) = eye + dir rc t

Sekanje žarka z objektom Implicitna oblika enačbe krogle 2 2 F( x, y, z) = x + y + z Točka leži na površini, če F(x,y,z) = 0 Mesto zadetka se zgodi ob t hit. 2 1 t hit poiščemo z rešitvijo enačbe: F ( eye dir t ) = rc + hit 0

Sekanje s transformiranim objektom Če ima objekt funkcijo v implicitni obliki F(P), potem ima transformirani objekt funkcijo v implicitni obliki F(M 1 (P)) To se izpelje v: r( t) = M 1 eye + M 1 dir rc t

Sekanje s transformiranim objektom Izračunaj t hit na transformiranem objektu z uporabo: F ( eye dir t ) = 0 rc + hit kjer je F(x,y,z) funkcija originalnega, netransformiranega objekta

Svetloba, ki zadene površino Če je izvir svetlobe viden v točki sekanja: Z uporabo standardnega modela odboja izračunamo prispevek od vira svetlobe Izračunamo odbiti žarek Izračunamo prepuščene žarke

Sestavljena jakost osvetlitve Jakost osvetlitve, ki je prirejena pikslu je sestavljena iz jakosti osvetlitev vseh objektov, ki jih zadene žarek.

Drevo sledenja žarka Točka očesa T 2 R 1 T 1 R 2 T 1 R R 1 3 R 2 R 3 T 2 Točka očesa

Računanje odbitih žarkov normala površine vstopni žarek odbiti žarek θ r θ i P

Računanje prepuščenih žarkov normala površine, N θ i vstopni žarek, I Snellov zakon η iλ sinθ = sinθ t i ηtλ θ t P prepuščeni žarek, T T η iλ, η tλ : lomni količnik materialov = ( η cosθ cosθ ) N rλ kjer je se izpelje v i ηr λ t sinθ t = sinθ η I i rλ

Sledenje žarka - prednosti/slabosti Prednosti Prosojnost Odbojnost Sence Kompleksni primitivi (matematične enačbe) Slabosti Težko pohitriti Ni popolna globalna osvetlitev Zelo počasno izračunavanje posameznega piksla

Tehnike pohitritve Hitrejša sekanja Hitrejša sekanja žarek objekt Manj sekanj žarek objekt Manj žarkov Nadzorovana globina drevesa Prilagodljivo glajenje robov (anti aliasing) Posplošitev žarkov sledenje snopu sledenje stožcu sledenje žarkom, ki gredo skozi skupno točko

Razdelitev prostora Razdeli prostor na regije Postavi objekte v različne regije Izračunaj katere regije lahko vidiš iz svoje trenutne pozicije Testiraj samo te objekte Sestavi hierarhijo testiranj

Bounding Volumes A bounding volume is a volume which contains the entire object and has a simpler ray intersection test Only if the ray intersects the bounding volume do we need to test against the object itself In typical environments, a ray misses most objects

Upodabljanje terena

Zakaj sledenje žarka izgleda lažno Jagged edges Hard shadows Everything in focus Objects completely still Surfaces perfectly shiny Glass perfectly clear

Blesteče površine Surface microfacets perturb reflection ray directions Nearby objects reflect more clearly because distribution still narrow Farther objects reflect more blurry because distribution has spread Reconstruction filter weighted toward reflection direction

Zameglitev zaradi gibanja (Motion Blur) Cast multiple rays from eye through same point in each pixel Each of these rays intersects the scene at a different time Reconstruction filter controls shutter speed, length Box filter fast shutter Triangle filter slow shutter I( x, y, t) = r( t) f ( x, y, t) s( t) shutter function animated continuous image function temporal samples

Globina polja Better simulation of camera model f stop focus

Demo blurr

Mehke sence Point light sources unrealistic Use area light source Cast shadow rays from surface to different locations on light Hits/rays = % illuminated Jitter locations to remove aliasing artifacts 50% illuminated penumbra umbra penumbra

Model kamere F focal length n aperture number C circle of confusion V P = FP/(P-F) V D = FD/(D-F) C = ( V D V P /V D ) (F/n) r = ½ (F/n) (D-P)/P R = (-V P /D) r R = ½ C

Implementacija A E Start rays at lens plane B C Standard ray tracing: Pixel D uses ray BD Pixel E uses ray BE All rays emanate from B D Put image plane at focal plane Distributed ray tracing: Pixel D uses rays AD, BD, CD Pixel E uses rays AE, BE, CE Rays emanate from lens plane

Porazdeljeno sledenje žarka (Distributed Ray Tracing) Replace single ray with distribution of rays Not just fat ray through pixel, but fat rays everywhere Multiple eye rays supersampling motion blur depth of field Multiple shadow rays soft shadows Multiple reflection rays glossy surfaces Multiple refraction rays diffuse glass

Supersampling Cast multiple rays from eye through different parts of same pixel Image function f(x,y) Color that ray through (x.y) returns Sampling function s(x,y) Controls where the samples occur within the pixel One if sample at (x,y), else zero Reconstruction filter r(x,y) Computes the weighted average of resulting colors into a single color Also weights according to area I( x, y) = r( x, y) f ( x, y) s( x, y) reconstructed image function reconstruction filter continuous image function I = I( x, y) dxdy pixel 1 I ( 1 pixel = I 2, 2) sampling function

Porazdeljeno vzorčenje žarkov (Distributed Ray Sampling) Supersampled antialiasing Jittering removed jaggies, Moires Ordered jitter, Poisson balanced distribution Decorrelation inhibits aliasing Need to decorrelate samples across all parameter axes between all parameter axes