Global illumination with many-light methods. Martin Kahoun (2011)

Podobné dokumenty
Fotonové mapy. Leonid Buneev

Zobrazování a osvětlování

Odraz světla, BRDF. Petr Kadleček

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

Radiometrie, radiační metody

Počítačová grafika III Photon mapping. Jaroslav Křivánek, MFF UK

Počítačová grafika III Důležitost, BPT. Jaroslav Křivánek, MFF UK

Počítačová grafika III Úvod

Realistický rendering

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

Fotorealistická syntéza obrazu Josef Pelikán, MFF UK Praha

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

Počítačová grafika III Photon mapping. Jaroslav Křivánek, MFF UK

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

Distribuované sledování paprsku

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

Počítačová grafika Radiozita

Precomputed radiance transfer

Fotonové mapy. Martin Bulant 21. března Fotonové mapy jsou podobné obousměrnému sledování cest, ale odlišují se tím,

Počítačová grafika III Úvod

1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.

A4M39RSO. Sledování cest (Path tracing) Vlastimil Havran ČVUT v Praze CTU Prague Verze 2014

Watkinsův algoritmus řádkového rozkladu

Odhad stavu matematického modelu křižovatek

Kombinatorická minimalizace

Bayesovské metody. Mnohorozměrná analýza dat

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

Algoritmy pro ořezávání 2D polygonů

Rekurzivní sledování paprsku

Počítačová grafika III Monte Carlo rendering 2. Jaroslav Křivánek, MFF UK

Metoda Monte Carlo, simulované žíhání

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

X39RSO/A4M39RSO. Integrace a syntéza obrazu pomocí metody Monte Carlo. Vlastimil Havran, ČVUT v Praze

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

MRBT M8. VIDITELNOST OBJEKTŮ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Bc. MARTIN MAŠTERA

Jasové transformace. Karel Horák. Rozvrh přednášky:

Monte Carlo rendering

Fotorealistická grafika

3.2. ANALYTICKÁ GEOMETRIE ROVINY

RAYTRACING. Ondra Karlík (Keymaster)

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

Dyson s Coulomb gas on a circle and intermediate eigenvalue statistics

Reflections, refractions, interreflections

Principy fotorealistického zobrazování

Globální osvětlení v real-time 3D grafice. Bc. Jaroslav Meloun

Jiří Cajthaml. ČVUT v Praze, katedra geomatiky. zimní semestr 2014/2015

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

stránkách přednášejícího.

MATEMATIKA II - vybrané úlohy ze zkoušek ( 2015)

MATEMATIKA II - vybrané úlohy ze zkoušek v letech

7. Derivace složené funkce. Budeme uvažovat složenou funkci F = f(g), kde některá z jejich součástí

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

Definice 7.1 Nechť je dán pravděpodobnostní prostor (Ω, A, P). Zobrazení. nebo ekvivalentně

Stavový model a Kalmanův filtr


VI. Derivace složené funkce.

X = x, y = h(x) Y = y. hodnotám x a jedné hodnotě y. Dostaneme tabulku hodnot pravděpodobnostní

Úvod do mobilní robotiky NAIL028

Cíle lokalizace. Zjištění: 1. polohy a postavení robota (robot pose) 2. vzhledem k mapě 3. v daném prostředí

Jaroslav Tuma. 8. února 2010

Chyby měření 210DPSM

2. prosince velikosti symboly a, b, je b ω a b = a b cosω (1) a. ω pro ω π/2, π platí a b = b a a (3) a b = a 1 b 1 + a 2 b 2 + a 3 b 3 (5)

Úvodní informace. 17. února 2018

Skalární součin dovoluje zavedení metriky v afinním bodovém prostoru, tj. umožňuje nám určovat vzdálenosti, odchylky, obsahy a objemy.

Numerické řešení diferenciálních rovnic

1 Analytická geometrie

Počítačová grafika III Monte Carlo integrování II. Jaroslav Křivánek, MFF UK

Katedra matematiky Fakulty jaderné a fyzikálně inženýrské ČVUT v Praze Příjmení a jméno ➊ ➋ ➌ ➍ ➎ ➏ Bonus

metodou Monte Carlo J. Matěna, Gymnázium Českolipská, Praha

CVIČNÝ TEST 51. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 48. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

R β α. Obrázek 1: Zadání - profil složený ze třech elementárních obrazců: 1 - rovnoramenný pravoúhlý trojúhelník, 2 - čtverec, 3 - kruhová díra

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

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

Šárka Došlá. Matematicko-fyzikální fakulta Univerzita Karlova v Praze. Bimodální rozdělení. Šárka Došlá. Motivace. Základní pojmy

Úvod do mobilní robotiky AIL028

Circular Harmonics. Tomáš Zámečník

Arnoldiho a Lanczosova metoda

ZOBRAZOVÁNÍ ZRCADLY. Mgr. Jan Ptáčník - GJVJ - Septima - Optika

1 3D snímání: Metody a snímače

19 Eukleidovský bodový prostor

Počítačová grafika III Světlo, Radiometrie. Jaroslav Křivánek, MFF UK

10. N á h o d n ý v e k t o r

CVIČNÝ TEST 37. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15

Reprezentace 3D modelu

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

Obr. 1: Vizualizace dat pacientů, kontrolních subjektů a testovacího subjektu.

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STROJNÍHO INŽENÝRSTVÍ

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0

FOTOREALISTICKÉ ZOBRAZOVÁNÍ

14. přednáška. Přímka

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

7 Ortogonální a ortonormální vektory

Matematika II, úroveň A ukázkový test č. 1 (2018) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

STANOVENÍ SPOLEHLIVOSTI GEOTECHNICKÝCH KONSTRUKCÍ. J. Pruška, T. Parák

Transkript:

Zápisky z přednášky Global illumination with many-light methods Tomáš Zámečník (2012) Martin Kahoun (2011) 1

1 Výpočet globálního osvětlení 1.1 Zobrazovací rovnice v 3b formulaci V této úvodní části se budeme zabývat výpočtem intenzity světelného paprsku. Paprsek bude vždy zadán dvěma body (místem vzniku a místem dopadu). Následující rovnice popisuje intenzitu světelného paprsku, směřujícího z bodu x do bodu x. L se skládá ze dvou příspěvků: L(x x ) = L e (x x ) + L r (x x ) (1) L e - intenzita světelného paprsku emitovaného z x do x L r - intenzita světelných paprsků odražených v x Hodnota L r se vypočte integrací z intenzity paprsků dopadajících do x ze všech bodů x všech povrchů scény M. Po dosazení za L r je funkce L zadána následujícím rekurentním vztahem, známým jako zobrazovací rovnice: L(x x ) = L e (x x ) + L(x x ) f r (x x x ) G(x x )da x (2) M f r je odrazová funkce (BRDF). G je geometrický člen, závisející na vzájemné poloze bodů x a x. G(x x ) = V (x x ) cosθ o cosθ i x x 2 (3) V je funkce vzájemné viditelnosti bodů x a x. { V (x x 1 pokud jsou body x, x ) = vzájemně viditelné 0 jinak Existuje více ekvivalentních formulací zobrazovací rovnice. Varianta zadaná vztahem (2) je význačná tím, že nepoužívá integraci přes hemisféru, ale přes všechny body scény. Neintegrujeme po úhlech, ale po bodech. 1.2 Měřicí rovnice v 3b formulaci Nyní navážeme na předchozí kapitolu a uvedeme způsob výpočtu intenzity světla dopadajícího na plochu jednoho pixelu. Intenzita j-tého pixelu se vypočte podle následujícího předpisu (měricí rovnice). I j = W e (j) (x x ) L(x x ) G(x x )da x da x (5) M M Zde x jsou body scény a x body senzoru (pixelu). W e (j) (x x ) je hodnota váhové funkce senzoru (odezva) pro paprsek z x do x. L(x x ) je hodnota radiance bodu x, vypočtená podle (2). 1.3 Integrování přes světelné cesty Nyní přeformulujeme rovnici (5) tak, že budeme integrovat místo přes body scény přes celé světelné cesty (posloupnosti bodů, v nichž se paprsky odrážejí při cestě ze zdroje světla do senzoru - pixelu) I j = f j ( x)dµ( x) (6) Ω Ω je zde prostor (množina) světelných cest mezi zdroji světla a j-tým pixelem. µ( x) je míra na tomto prostoru. (4) 2

dµ( x) = da x0 da x1 da x2... (7) x 0, x 1, x 2,... odpovídají 1., 2., 3.,... bodům cest x. f j ( x) je příspěvek cesty x k intenzitě j-tého pixelu. Tato funkce říká, kolik procent světla dojde ze zdroje do senzoru. Integrováním přes cesty jsme se zbavili rekurentního zápisu. Jinými slovy I j v (6) je hodnotou integrálu, nikoliv řešením integrální rovnice. Nestranný odhad hodnoty I j vypočteme Monte-Carlo integrací: I j f j( x) p( x) p( x) je hodnota hustoty pravděpodobnosti cesty x v prostoru cest Ω. Nebo-li jedná se o pravděpodobnost, že cesta x půjde z vrcholu x 0 do x 1,..., až nakonec skončí v x k : p( x) = p(x 0,..., x k ) = p(x 0 )p(x 1 x 0 )p(x 2 x 0, x 1 )...p(x k x 0,..., x k 1 ) (9) Poznámka: Užitím Bayesova vzorce odvodíme, že p(x 0,..., x k ) = p(x k,..., x 0 ). Tzn. nezálěží, zda uvažujeme cesty směřující ze zdroje světla do senzoru nebo obráceně. 1.3.1 Výpočet f j ( x) Necht x = (x 0,..., x k ), potom platí: (8) f j ( x) = L e (x 0 x 1 ) f r (x 0 x 1 x 2 ) G(x 0 x 1 )... f r (x k 2 x k 1 x k ) G(x k 1 x k ) W (j) e (x k 1 x k ) (10) Poznámka: Emisní složka L e se započítává pouze v bodě x 0. Situace pro cestu čítající pět bodů je ilustrována následujícím obrázkem: 1.3.2 Renderování Konkrétní odhad intenzity pixelu I j se získá Monte Carlo integrací následovně: for i = 1 to pocet cest do: Vygeneruj cestu x i, pro níž W e je nenulové (tj. skrz pixel). Aktualizuj odhad I j : I j += 1 pocet cest fj(x i ) p(x i ) 3

2 Instant radiosity Ukážeme si nyní metodu publikovanou Kellerem v roce 1997, kterou nazval instatní (okamžitá) radiozita [2]. Celá třída metod odvozených z instantní radiozity je pak často nazývána many-lights methods nebo virtual point light methods. Základem metody je přidání nových (virtuálních) světel do scény (VPL - virtual point lights). Při samotném vykreslování počítáme pouze přímé osvětlení a to jak z reálných, tak i z virtuálních světel. Výpočet osvětlení má dvě fáze: 1. Vygenerování virtuálních světel 2. Vykreslení scény výpočtem přímého osvětlení Poznámka: Metoda předpokládá, že všechny povrchy jsou čistě difuzní. 2.1 Tvorba VPL Přidáváním nových světel se snažíme dosáhnout vzhledu scény, kde je použito i nepřímého osvětlení. VPL generujeme tak, že vrháme paprsky ze skutečných světelných zdrojů. Tam, kde paprsek dopadne na povrch scény, přidáme nové virtuální světlo. Paprsek se může dále odrážet. S každým odrazem vzniká v daném bodě nové VPL. Cestu paprsku ukončíme principem Russian roulette. Každý virtuální zdroj považujeme za čistě difuzní emitor a pro radianci přicházející od něj platí: L(y x) = Φ ρ d(y) cos θ y, π kde Φ je světelný tok nesený časticí, která vygenerovala virtuální světlo (výpočet Φ viz. photon tracing ve fotonových mapách). Dále ρ d (y) je difúzní odrazivost (albedo) v bodě y. 2.2 Informace uložené ve VPL Pokud je splněn předpoklad, že všechny povrchy jsou čistě difuzní, uchováváme u každého světla jeho pozici, normálový vektor povrchu a intenzitu nesenou paprskem světla, z nějž VPL vzniknul. Lesklé povrchy jsou probrány v další přednášce. 2.3 Vykreslení scény s VPL Ve druhém kroku počítáme pomocí tohoto seznamu virtuálních světel přímé osvětlení scény a to následujícím způsobem: L(x, ω o ) = L e (x, ω o ) + n L(y k x) G(y k x) f r (y k x ω o ) (11) k=1 Tato rovnice není ničím jiným, než Monte Carlo estimátorem zobrazovací rovnice ve tvaru (2). Virtuální bodové zdroje pak představují vzorky radiance na plochách scény. Instantní radiozita je tedy podmnožinou obousměrného sledování cest (bidirectional path tracing). Používáme ovšem jen prvního dopadu paprsku z kamery a navíc vrcholy cest od světelných zdrojů (tj. virtuální bodové zdroje) se přepoužívají pro všechny pixely. 4

2.4 Stínové mapy Pro výpocět viditelnosti mezi jedním bodovým zdrojem a všemi viditelnými body scény lze s výhodou využít algoritmu stínových map (shadow maps). Stínové mapy fungují ve dvou krocích: Nejprve vyrenderujeme scénu z pohledu světla a do bufferu ukládáme vzdálenost světelného zdroje a objektu scény, čímž vytvoříme stínovou mapu. Ve druhém průchodu renderujeme už normálně z pohledu kamery. V každém bodě scény se pak dotazujeme do stínové mapy a porovnáváme vzdálenost bodu od světla s hodnotou ve stínové mapě: pokud je vzdálenost bodu větší než hodnota ve stínové mapě, pak je bod zastíněn, jinak je osvětlen. 2.5 Šum Přidáním VPL vneseme do scény i chyby(artefakty) v podobě míst s vysokou intenzitou, lokalizovaných typicky v rozích scény - pokud je zde umístěno nějaké VPL. Pokud je VPL v rohu, jsou body sousední přivrácené stěny velmi blízko (vzdálenost se blíží nule) a tudíž přesvětlené (geometrický člen G(x x ) zobrazovací rovnice je extrémně vysoký (jde k )). Vliv šumu (přesvětlená místa) je dobře patrný na následujícím obrázku: 2.6 Odstranění šumu ořezáváním Nahradíme-li výpočet (11) příspěvku VPL k osvětlení bodu x předpisem: L(x, ω o ) = L e (x, ω o ) + n L(y k x) min{c, G(y k x)f r (y k x ω o )}, (12) k=1 přesvětlená místa zmizí. Stane se tak díky, tomu, že hodnotu G(y k x)f r (y k x ω o ) shora omezili vhodně zvolenou konstantou c. Toto řešení však není uspokojivé, nebot přestože se vzhled scény zlepšil (zmizela přesvětlená místa), vnesli jsme do ní ve skutečnosti další chybu, protože ořezáním jsme ztratili i část energie, která do scény patřila (nevznikla šumem). 3 Výpočet globálního osvětlení v reálném čase V této kapitole se budeme zabývat metodami, urychlujícími výpočet globálního osvětlení s VPL. 3.1 Reflective Shadow Maps První metoda se soustředí na urychlení distribuce virtuálních světel. Budeme generovat pouze světla přímo viditelná z reálného světelného zdroje. Využijeme stínové mapy, popsané v kapitole 2.4. Každý bod uložený ve stínové mapě se stane novým VPL. Generujeme tedy pouze cesty čítající dva body (světelný zdroj a VPL). 5

3.1.1 Příliš mnoho světel Nevýhodou této metody je, že pokud má stínová mapa vysoké rozlišení, vygeneruje se zbytečně velké množství světel, což má za následek zpomalení výpočtu nepřímého osvětlení při vykreslování scény. Tento problém lze řešit například podvzorkováním světelné mapy. Jinou možností je do výpočtu osvětlení bodu x zahrnout pouze relevantní VPL. Příspěvek virtuálního světla k intenzitě bodu x se vynásobí váhou v závislosti na vzdálenosti VPL od x ve stínové mapě (v projekci světla). 3.2 Incremental Instant Radiosity Nyní popíšeme urychlovací metodu, která se zaměřuje na případ, kdy se světla mohou pohybovat, scéna však zůstává statická. Klíčem k urychlení je předpoklad, že se světla mezi dvěma snímky pohnula pouze málo a tedy, že stínové mapy v obou snímcích pro dané světlo sdílí většinu bodů. V novém snímku využijeme virtuálních světel ze snímku předchozího. VPL, která jsou zakrytá překážkou nebo se nacházejí mimo zorné pole světla odstraníme a přidáme nová. Budeme se snažit přidávat nová virtuální světla tak, abychom zároveň zachovávali rovnoměrnost jejich pokrytí. (a) VPL vytvořená metodou Reflective Shadow Maps (b) Výpočet nepřímého osvětlení (pro oranžový bod) (c) Posun světla - jedno z virtuálních světel se stane nevalidním. Obrázek převzat z [5]. Algoritmus v bodech: 1. Určení platnosti všech stávajících VPL 2. Odstranění nevalidních VPL (v zájmu zachování rovnoměrného pokrytí i některých validních) 3. Vytvoření nových VPL 4. Výpočet intenzity nových VPL 5. Projekce VPL podle nové pozice světla 3.2.1 Odstraňování VPL Kromě validních světel odstraníme i některá další, abychom udržovali rovnoměrnost pokrytí. Kvůli rychlosti využijeme pro odstraňování jednoduchého hladového algoritmu. Budeme odstraňovat virtuální světla z míst, kde mají největší hustotu (jsou mezi nimi malé vzdálenosti). Nejprve z projekce VPL (z pohledu světla) vytvoříme triangulaci (vrcholy odpovídají virtuálním světlům). Smažeme světlo, které má v triangulaci nejkratší hrany. Počet světel, která se mohou smazat většinou určíme předem (kvůli zachování snímkovací frekvence). 6

3.2.2 Přidávání VPL Nová světla budeme přidávat do míst s nejmenším pokrytím. Z triangulace vytvoříme Voronoiův diagram a nalezneme bod, který má největší vzdálenost k nejbližším virtuálním světlům (bude to některý z průsečíků hran diagramu) a do něj přidáme nové VPL. Vzdálenost se nepočítá ve scéně, ale na projekci světelného zdroje. Stejně jako v případě mazání, budeme počet přidaných světel shora omezovat konstantou, abychom příliš nesnižovali snímkvou frekvenci. 3.3 Imperfect Shadow Maps Technika probraná v této kapitole se zabývá urychlením výpočtu stínových map. Cílem je aproximace globálního osvětlení dynamických scén v reálném čase. Při generování stínové mapy nejprve náhodně určíme množinu bodů, kde vypočteme hloubku. Hodnoty ve zbývajících bodech budeme interpolovat pomocí Pull-push algoritmu. 3.3.1 Pull-push algoritmus Necht je stínová mapa uložená ve čtvercové matici se stranou délky 2 n. Vygenerujeme stínové mapy s nižším rozlišením o velikostech 2 n 1,..., 1. Cílem je interpolovat chybějící hodnoty. Interpolace má dvě fáze: 1. Procházíme od mapy s nejvyšším rozlišením k mapě s nejnižším a počítáme hodnoty pixelů průměrováním (čtyř jemnějších pixelů z předchozí mapy). Pokud žádný ze čtyř pixelů není definován, necháme hodnotu nevyplněnou. 2. Procházíme od mapy s nejnižším rozlišením. Tam, kde narazíme na chybějící hodnotu ji vyplníme zkopírováním hodnoty z příslušného místa hrubší mapy. Poznámka: Pokud při průchodu dolů dospějeme k mapě, jež má všechny hodnoty definované, nemusíme vytvářet další mapy s hrubším rozlišením. Reference [1] Hašan M., Křivánek J., Walter B., Bala K., Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes, Proc SIGGRAPH Asia 09. [2] Keller Alexander, Instant radiosity. Proc. SIGGRAPH 97. [3] Kollig Thomas, Keller Alexander, Illumination in the Presence of Weak Singularities, Monte Carlo And Quasi-monte Carlo Methods, 2004. [4] S. Laine et al., Incremental Instant Radiosity for Real-Time Indirect Illumination, Eurographics Symposium on Rendering (2007). [5] T. Ritschel et al., Imperfect Shadow Maps for Efficient Computation of Indirect Illumination, ACM Trans. Graph. 27(5) (Proceedings SIGGRAPH Asia 2008). 7