Rekurzivní sledování paprsku

Podobné dokumenty
Výpočet průsečíků paprsku se scénou

Distribuované sledování paprsku

Výpočet průsečíků paprsku se scénou

Zobrazování a osvětlování

Fyzikálně založené modely osvětlení

Anti-aliasing a vzorkovací metody

Textury a šumové funkce

Watkinsův algoritmus řádkového rozkladu

Výpočet vržených stínů

Radiometrie, radiační metody

Osvětlování a stínování

Monochromatické zobrazování

Urychlovací metody pro Ray-tracing

Fotonové mapy. Leonid Buneev

Zobrazování barev Josef Pelikán CGG MFF UK Praha.

Základy 3D modelování a animace v CGI systémech Cinema 4D C4D

1.8. Úprava uživatelského prostředí AutoCADu 25 Přednostní klávesy 25 Pracovní prostory 25

Photon-Mapping Josef Pelikán CGG MFF UK Praha.

Počítačová grafika III Úvod

9 Prostorová grafika a modelování těles

Časová a prostorová složitost algoritmů

Reprezentace 3D scény

Anti Aliasing. Ondřej Burkert. atrey.karlin.mff.cuni.cz/~ondra/ ~ondra/stranka

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

Maturitní otázky z předmětu MATEMATIKA

Barevné systémy Josef Pelikán CGG MFF UK Praha

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

Datové struktury pro prostorové vyhledávání

Maturitní okruhy z matematiky - školní rok 2007/2008

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

MATEMATIKA Maturitní témata společná část MZ základní úroveň (vychází z Katalogu požadavků MŠMT)

Gymnázium Jiřího Ortena, Kutná Hora

Reflections, refractions, interreflections

Systematizace a prohloubení učiva matematiky. Učebna s dataprojektorem, PC, grafický program, tabulkový procesor. Gymnázium Jiřího Ortena, Kutná Hora

HDR obraz (High Dynamic Range)

Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha

PB001: Úvod do informačních technologíı

Gymnázium Jiřího Ortena, Kutná Hora. Průřezová témata Poznámky. Téma Školní výstupy Učivo (pojmy) volné rovnoběžné promítání průmětna

Požadavky na konkrétní dovednosti a znalosti z jednotlivých tematických celků

Reprezentace 3D modelu

Počítačová grafika III Úvod

Detekce kolizí v 3D Josef Pelikán KSVI MFF UK Praha

MATEMATIKA Maturitní témata společná část MZ vyšší úroveň (vychází z Katalogu požadavků MŠMT)

Textury v real-time grafice Josef Pelikán, MFF UK Praha Josef.Pelikan@mff.cuni.cz

Multimediální systémy. 11 3d grafika

Obsah. Úvod do prostorového modelování 9. Prostředí AutoCADu při práci ve 3D 15 KAPITOLA 1 KAPITOLA 2

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

NPRG030 Programování I, 2018/19 1 / :25:37

Animace a geoprostor. První etapa: Animace 3. přednáško-cvičení. Jaromír Landa. jaromir.landa@mendelu.cz Ústav informatiky PEF MENDELU v Brně

Přímé zobrazování objemových dat DVR

Maturitní témata profilová část

Základní techniky zobrazování Josef Pelikán, MFF UK Praha

VZÁJEMNÁ POLOHA DVOU PŘÍMEK V ROVINĚ

Maturitní témata z matematiky

Realistický rendering

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

Základní topologické pojmy:

Pokročilé osvětlovací techniky Josef Pelikán, MFF UK Praha

Úvod Typy promítání Matematický popis promítání Implementace promítání Literatura. Promítání. Pavel Strachota. FJFI ČVUT v Praze

Vzorce počítačové grafiky

DIGITÁLNÍ OBRAZ. Obrázky (popř. slajdy) převzaty od

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

MATEMATIKA Tematické okruhy ke státní maturitní zkoušce Obor: mechanik elektronik

X39RSO/A4M39RSO Vychýlené (biased) metody globálního osvětlení. Vlastimil Havran ČVUT v Praze CTU Prague Verze 2011

Precomputed radiance transfer

Počítačová grafika III Multiple Importance Sampling. Jaroslav Křivánek, MFF UK

Deformace rastrových obrázků

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Lineární transformace

5 Algoritmy vyplňování 2D oblastí

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Optika pro mikroskopii materiálů I

Grafika na počítači. Bc. Veronika Tomsová

MATURITNÍ TÉMATA Z MATEMATIKY

Datové formáty grafiky, jejich specifika a možnosti využití. L u b o š T o m e š e k U M T M a n a ž e r s k á i n f o r m a t i k a 2015/ 16

1. Vektorové algoritmy jejich výstupem je soubor geometrických prvků, např.

Gymnázium Jiřího Ortena, Kutná Hora

Základní raytracing Detaily implementace Distribuovaný raytracing Další globální zobrazovací metody Galerie Literatura. Raytracing

Maturitní okruhy z matematiky ve školním roce 2010/2011

Základní škola Ruda nad Moravou. Označení šablony (bez čísla materiálu): EU-OPVK-MAT-8+9- Slovní úlohy

Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021

Světlo je elektromagnetické vlnění, které má ve vakuu vlnové délky od 390 nm do 770 nm.

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

CGI. Computer generated imagery Počítačové triky Animované filmy Počítačové hry. Technologické trendy v AV tvorbě, CGI 2

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Jana Dannhoferová Ústav informatiky, PEF MZLU

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

Reprezentace bodu, zobrazení

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Počítačová grafika 2 (POGR2)

Programátorská dokumentace

Počítačová grafika III Multiple Importance Sampling. Jaroslav Křivánek, MFF UK

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

11 Zobrazování objektů 3D grafiky

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

Maturitní zkouška z matematiky (v profilové části) Informace o zkoušce, hodnocení zkoušky, povolené pomůcky a požadavky

Metodické listy pro kombinované studium předmětu. B_PPG Principy počítačové grafiky

Transkript:

Rekurzivní sledování paprsku 1996-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 21

Model dírkové kamery 2 / 21

Zpětné sledování paprsku L D A B C 3 / 21

Skládání světla L N R A P 0 +t P 1 T 4 / 21

Rekurzivní implementace function Sleduj ( P0, P1 : Point3D; hloubka : integer ) : RGB; { P0..počátek paprsku, P1..směr, hloubka..počet odražení } var A, R, T : Point3D; { pomocné body a vektory } B : RGB; { výsledná barva } begin A := Prusecik(Scena,P0,P1); { průsečík paprsku se scénou } if A==0 then Sleduj := Pozadi { paprsek na nic nenarazil } else begin { paprsek narazil na těleso } B := 0; for i := 1 to N do { příspěvky od světelných zdrojů } if Prusecik(Scena,A,L[i]-A)==0 then B := B + kl * Svetlo(A,L[i]); hloubka := hloubka + 1; if hloubka <= maxhloubka then { konec rekurze } begin if "A je odrazivé" then begin "spočítej R" { odražený paprsek } B := B + kr * Sleduj(A,R,hloubka); end; 5 / 21

Rekurzivní implementace if "A je průhledné" then begin "spočítej T" { lomený paprsek } B := B + kt * Sleduj(A,T,hloubka); end; end; Sleduj := B; { nastřádaná návratová hodnota } end; end; 6 / 21

Jednotlivé složky nic (ray-casting) stíny stíny+odrazy stíny+odrazy+lomy 7 / 21

Řízení hloubky rekurze statické - omezení konstantou (nehodí se pro scény obsahující zrcadla i méně odrazivé lesklé povrchy) dynamické - podle významu paprsku význam je procentuální podíl právě sledovaného paprsku na výsledné barvě pixelu (pro primární paprsky: 100%) omezení významu konstantou (např. 2-10%) kombinované - omezení hloubky i významu paprsku 8 / 21

Výpočet průsečíku souřadnice průsečíku (nebo nekonečno ) číslo tělesa (plochy) normálový vektor povrchu tělesa časově nejnáročnější operace (80-90% času) urychlovací metody analytický výpočet (koule, válec, kvádr,..) numerický výpočet (aproximační plochy, rotační tělesa, implicitní povrchy,..) 9 / 21

Průsečík paprsku s koulí P 0 t 1 t 2 P 0 = [x 0,y 0,z 0 ] P 1 P 1 = [x 1,y 1,z 1 ] R paprsek: P 0 + t P 1, t > 0 (1) koule (střed v počátku): x 2 + y 2 + z 2 - R 2 = 0 (2) po dosazení (1) do (2) vyjde kvadratická rovnice pro t: t 2 (x 12 +y 12 +z 12 ) + 2t (x 0 x 1 +y 0 y 1 +z 0 z 1 ) +x 12 +y 12 +z 12 -R 2 = 0 10 / 21

Průsečík s CSG scénou pro elementární tělesa umím průsečíky spočítat začátek a konec průniku paprsku s tělesem pro konvexní tělesa množinové operace provádím na polopřímce paprsku: díky distributivitě: P (A-B) = (P A) - (P B) obecný průnik paprsku se scénou je množina intervalů 11 / 21

Průsečíky P A, P B B P B P 0 P 1 A P A P 0 P 1 12 / 21

Průsečík P (A-B) rozdíl \ B P (A-B) A B P 0 P 1 A 13 / 21

Vyhlazování (anti-aliasing) pouze jeden paprsek na jeden pixel - vzniká tzv. alias zubaté okraje interference zvětšením rozlišení se problém nevyřeší 14 / 21

Ukázka vyhlazování (super-sampling) 1 spp 400 spp 15 / 21

Vícenásobné vzorkování pošleme více paprsků jedním pixelem výslednou barvu spočítáme jako aritmetický průměr přechody budou jemnější (bez zubů) paprsky by měly pokrývat plochu pixelu rovnoměrně, ale ne úplně pravidelně! 16 / 21

Textury změna barvy na povrchu předmětů mohou ovlivňovat též odrazivost (k D a k S ), normálový vektor,... realistické napodobení fyzikálních vlastností materiálu (barevný vzorek, mikro- i makrostruktura povrchu) dřevo, kůra pomeranče, leštěný kov,.. nahrazení složité geometrie (vlny na vodě,..) 17 / 21

2D textura pokrývá povrch tělesa (jako tapeta) mapování textury: [x,y,z] [u,v] vlastní textura: [u,v] barva (normála,..) 18 / 21

3D textury zachycují změny veličin uvnitř tělesa napodobují vnitřní strukturu materiálu (dřevo, mramor,...) není třeba mapování 3D textura: [x, y, z] barva (odrazivost, apod.) často se využívají 3D šumové funkce (napodobení náhodného vrásnění) 19 / 21

Příklady 3D textur 20 / 21

Konec Další informace: A. Glassner: An Introduction to Ray Tracing, Academic Press, London 1989, 1-31 Jiří Žára a kol.: Počítačová grafika, principy a algoritmy, 374-378 21 / 21