Fotonové mapy. Leonid Buneev

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

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

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

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

Zobrazování a osvětlování

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

Odraz světla, BRDF. Petr Kadleček

Počítačová grafika III Úvod

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

Radiometrie, radiační metody

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

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

Rekurzivní sledování paprsku

Realistický rendering

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

Fotorealistická grafika

Precomputed radiance transfer

Principy fotorealistického zobrazování

Monte Carlo rendering

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

Distribuované sledování paprsku

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

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

Počítačová grafika Radiozita

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

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST

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

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

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

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

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Zobrazování 3D scény metodou raytracingu Pavel Lokvenc

Optika nauka o světle

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

Moderní fotorealistický rendering

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

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

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

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

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

Content Aware Image Resizing

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

RAYTRACING. Ondra Karlík (Keymaster)

FOTOREALISTICKÉ ZOBRAZOVÁNÍ

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

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

Odhad parametrů N(µ, σ 2 )

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

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

PRAVDĚPODOBNOST A STATISTIKA

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Počítačová grafika III Globální osvětlení ve filmové produkci. Jaroslav Křivánek, MFF UK

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

3 Bodové odhady a jejich vlastnosti

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

Pokročilé metody fotorealistického zobrazování

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

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

B4M39RSO * Úvod do globálního osvětlení * Radiometrie * Světelné zdroje. Vlastimil Havran ČVUT v Praze

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:

Vstupní signál protne zvolenou úroveň. Na základě získaných údajů se dá spočítat perioda signálu a kmitočet. Obrázek č.2

Mˇ eˇren ı ˇ cetnost ı (Poissonovo rozdˇ elen ı) 1 / 56

Základní pojmy Zobrazení zrcadlem, Zobrazení čočkou Lidské oko, Optické přístroje

5.1.3 Lom světla. vzduch n 1 v 1. n 2. v 2. Předpoklady: 5101, 5102

SVĚTLO A TMA HRANÍ SE SVĚTLEM

Úvod do mobilní robotiky AIL028

Numerické metody a programování. Lekce 4

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

Odhad parametrů N(µ, σ 2 )

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

Instance based learning

Numerické metody 6. května FJFI ČVUT v Praze

Počítačová grafika III Všehochuť. Jaroslav Křivánek, MFF UK

GEOMETRICKÁ OPTIKA. Znáš pojmy A. 1. Znázorni chod význačných paprsků pro spojku. Čočku popiš a uveď pro ni znaménkovou konvenci.

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

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

JčU - Cvičení z matematiky pro zemědělské obory (doc. RNDr. Nýdl, CSc & spol.) Minitest MT4

Inovace a zkvalitnění výuky prostřednictvím ICT Technické vybavení Vizualizační technika Ing. Jakab Barnabáš

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

5.2.3 Duté zrcadlo I. Předpoklady: 5201, 5202

Náhodný vektor. Náhodný vektor. Hustota náhodného vektoru. Hustota náhodného vektoru. Náhodný vektor je dvojice náhodných veličin (X, Y ) T = ( X

7.5.3 Hledání kružnic II

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

Fotorealistická syntéza obrazu

2.3.7 Lineární rovnice s více neznámými I

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

Progressive photon mapping na GPU

Nelineární rovnice. Numerické metody 6. května FJFI ČVUT v Praze

12. Lineární programování

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

Nejdřív spočítáme jeden příklad na variaci konstant pro lineární diferenciální rovnici 2. řádu s kostantními koeficienty. y + y = 4 sin t.

Vývoj počítačové grafiky. Tomáš Pastuch Pavel Skrbek

oddělení Inteligentní Datové Analýzy (IDA)

Stanovení akustického výkonu Nejistoty měření. Ing. Miroslav Kučera, Ph.D.

h n i s k o v v z d á l e n o s t s p o j n ý c h č o č e k

Výfučtení: Jednoduché optické soustavy

Semestrální práce Mozaika aneb Co všechno umí pan Voronoi

Transkript:

Fotonové mapy Leonid Buneev 21. 01. 2012 Popis algoritmu Photon mapping algoritmus, který, stejně jako path tracing a bidirectional path tracing, vyřeší zobrazovací rovnice, ale podstatně jiným způsobem. Tenhle algoritmus už není nestranný (průměr velkého počtu zobrazování nekonverguje ke správnému řešení zobr. rovnice), ale je konzistentní (výsledek konverguje při zvětšování počtu fotonů). Při stejné kvalitě zobrazování většinou je mnohem rychlejší, než algoritmy, založené na metodách Monte- Carlo, a umožňuje spočítat důležité efekty, jako: Caustics (Kaustiky) Color bleeding (Difuzní odrazy) Subsurface scattering (rozptyl světla pod povrchem tělesa) Průběh algoritmu Photon mapping se skládá ze dvou částí: 1. Rozmístění fotonů V podstatě 1. fáze je light tracing sledujeme cesty světla (a la fotony), emitovaného ze světelného zdroje, do scény, a výsledky (osvětlení scény v dosažených bodech) kešujeme (ukládáme ji do fotonové mapy) 2. Rendering Sledujeme cesty od kamery jako path tracing, ovšem místo rekurze používáme již spočítané hodnoty z fotonové mapy 1. Fáze: Rozmístění fotonů 1. Emise fotonů Chceme, aby všechny emitované fotony nesly stejný tok v tomhle případě by variance odhadu světla z fotonové mapy byla nižší. Pro emise každého fotonu nejdříve vybereme náhodně světelný zdroj (s pravděpodobnosti, úměrnou celkovému toku zdroje). Pak vybereme počátek fotonu: v případě bodového zdroje světla je to triviální pozice zdroje, pro plošné zdroje náhodný bod na ploše světelného zdroje. Pak

vybereme směr emitovaného fotonu taky náhodně, s pravděpodobností úměrnou emisní distribuční funkce světla. 2. Sledování fotonů Probíhá podobným způsobem jako light tracing. Když ale foton se narazí na plochu, děláme následující věcí: 1.) Uložíme foton do fotonové mapy foton je trojice (pozice, příchozí směr, tok) 2.) Vygenerujeme směr odraženého paprsku pomocí BRDF importance samplingu 3.) Aktualizujeme tok fotonu (předběžný) 4.) Spočítáme pravděpodobnost přežití fotonu pomocí ruské rulety a, pokud přežije, pokračujeme dal. Tenhle postup je dobrý tím, že zachovává luminanci fotonů, což je dobrý pro budoucí rendering. Při lomu světla taky není třeba měnit tok fotonů fotony nenesou žádnou radiancí. 3. Ukládání fotonu do fotonové mapy Pro většinu scén stačí fotonů. Pokaždé, když foton se narazí na difuzní (nebo mírně lesklou) složku, je potřeba uložit foton do mapy (i při absorpci taky). Ovšem, když narazíme na zrcadlovou plochu, jenom pokračujeme sledování fotonu nemá smysl ukládat světlo do mapy, protože při sledovaní cest od kamery pří narazení na zrcadlovou plochu žádná interpolace osvětlení okolních bodů nedává smysl. Během rozmísťování stavíme pouze lineární seznam fotonů, pak, po rozmístění, stavíme nad tím kd-strom, který umožnuje rychlejší vyhledávání v budoucnosti. Foton je trojice (pozice, příchozí směr, tok): Pozice Směr -> char[2] Energie (tok) -> RGBE: char[4] Pro vypočet kaustik je vhodný postavit zvláštní fotonovou mapy (mapa kaustik), která bude podmnožinou původní (globální) mapy a obsahovat jenom nepřímé osvětlení. Odhad radiance z fotonové mapy Pro rendering potřebujeme rychlé hledat k nejbližších fotonu v nějakém bodě, proto ze seznamu fotonů vytvoříme kd-strom. Pak umíme odhadnout radiancí v daném bodě podle formuli:

2. Fáze: Rendering Rendering probíha stejně jako ve klasickém path tracingu z kamery, s tím, že rekurze je nahrazená odhadem z fotonové mapy pro difuzní povrchy. Pro ideální zrcadlové povrchy pořád se používá klasická rekurze. Začneme klasickou rovnicí pro vypočet odražené radianci: Příchozí radiance rozdělime na tři částí - přímé osvětlení, kaustiky a nepřímé osvětlení: BRDF - na dvě - difuzní a zrcadlový odraz: A každý případ spočítáme odpovídajícím způsobem:, kde PM je Photon Mapping a FG je Final Gathering (bude vysvětlen později) Přímé osvětlení a zrcadlové odrazy se počítají jako obyčejně pomocí vzorkování světel a stínových paprsku resp. pomocí určitých sekundárních paprsků. Kaustiky se počítají odhadem radiance z fotonové mapy kaustik. Nepřímé osvětlení se počítá pomocí Final Gathering, který spočívá v tom, že místo odhady v daném bodě z fotonové mapy pošleme několik paprsku z tohoto bodu do scény, a průsečíky těch paprsku se scénou už vyhodnotíme odhadem z globální fotonové mapy. FG je potřeba používat z toho důvodu, že informace z fotonové mapy je příliš nepřesná, a použitím mapy až pro sekundární paprsky nepřesnosti se zprůměrují.

Pro vypočet kaustik obvykle není třeba používat FG, protože v těchto bodech je dostatečná hustota fotonu pro pěkný odhad. Existují možnosti zrychlit Final Gathering. Jednou z možností je irradiance caching, která používá ten fakt, že osvětlení difuzní plochy se mění pozvolna a plynule. Druhou možností je předvýpočet radiance na pozicí fotonu po rozmístění všech fotonů vybereme podmnožinu fotonů, ve které pro každý foton spočteme odhad radiancí z fotonové mapy, a ty výsledky uložíme do separátního kd-stromu. Tím pádem během renderingu nebudeme muset hledat množinu nejbližších fotonu z fotonové mapy stačí najit nejbližší přepočítanou radiancí. Ale tenhle metod funguje pouze pro dotaz do fotonové mapy na difuzní ploše. Vlastnosti algoritmu Už víme, že fotonové mapy jsou vynikající pro zobrazování kaustik. V podstatě je dobrý pro zobrazování světla, které prochází cestou specular-diffuse-specular (tzv. SDS path) žádné Monte-Carlo algoritmy takové světlo zobrazit neumí. Příkladem SDS-cest mohou byt kaustiky na dně bazénu, nebo světlo, emitované malým zdrojem světla, který nachází v nějakém skleněném obalu. Ovšem tenhle algoritmus má i svoje nevýhody. Chová se docela divně na lesklých plochách sekundární paprsky, které vytváříme během final gatheringu, částo dopadnou do stejného místa ve scéně, a proto vidíme jakoby odraz fotonové mapy se všemi příslušnými ji nepřesnosti.

Teoreticky taky není vůbec ideální výsledek není nestranný, obsahuje systematickou chybu, a proto nekonečné zprůměrování renderovaných obrázků nedává dobrý výsledek. Ale výsledek je konzistentní pří nekonečném počtu fotonu konverguje ke správnému řešení. Kvůli omezené velikosti paměti toho nelze dosáhnout, ale řešením tohoto problému je trochu upravený algoritmus progressive photon mapping. Tento algoritmus nejdříve vrhá paprsky do každého pixelu ve scéně jako v Ray Tracingu, pamatuje tyhle body, a pak opakovaně spočítá fotonové mapy, které používá pro počítání radiance v nalezených průsečících paprsků se scénou. Při tom v každém kroku zmenšíme poloměr hledání nejbližších fotonu, aby celkový bias a rozptyl šli k nule. Dalším vylepšením fotonových map jsou robustní fotonové mapy. Zatím jsme pří vrhání paprsku z kamery pro difuzní povrchy hned počítali radiance z fotonové mapy, a pro lesklé povrhy pokračovali cestu. Robustní fotonové mapy počítají radiance na všech vrcholech cesty od kamery, a kombinují spočítané hodnoty pomocí MIS. Posledním zatím vymyšleným vylepšením je použití fotonových map jenom jako další možnou vzorkovací strategie pro Bidirectional Path Tracing.