Počítačová grafika III Přibližný výpočet globálního osvětlení. Jaroslav Křivánek, MFF UK Jaroslav.Krivanek@mff.cuni.cz

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

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

Počítačová grafika III Úvod

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

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

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

Počítačová grafika III Úvod

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

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

Realistický rendering

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

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

Fotonové mapy. Leonid Buneev

Perception Motivated Hybrid Approach to Tone Mapping

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

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

Compression of a Dictionary

Enabling Intelligent Buildings via Smart Sensor Network & Smart Lighting

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

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

Skupina počítačové grafiky: projekty. Prezentuje: Jaroslav Křivánek

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

Introduction to MS Dynamics NAV

Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

Uvádění pixelového detektoru experimentu ATLAS do provozu

Zobrazování a osvětlování

Why PRIME? 20 years of Erasmus Programme Over 2 million students in total Annually

Radiometrie, radiační metody

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

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

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

Air Quality Improvement Plans 2019 update Analytical part. Ondřej Vlček, Jana Ďoubalová, Zdeňka Chromcová, Hana Škáchová

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

Dynamic programming. Optimal binary search tree

Geometry of image formation

NEREALISTICKÉ ZOBRAZENÍ

NUR - Prototyping. Low Fidelity

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

The Over-Head Cam (OHC) Valve Train Computer Model

WORKSHEET 1: LINEAR EQUATION 1

Klepnutím lze upravit styl předlohy. nadpisů. nadpisů.

Transportation Problem

18.VY_32_INOVACE_AJ_UMB18, Frázová slovesa.notebook. September 09, 2013

Principy fotorealistického zobrazování

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

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

EXACT DS OFFICE. The best lens for office work

Eurogranites 2015 Variscan Plutons of the Bohemian Massif

Czech Republic. EDUCAnet. Střední odborná škola Pardubice, s.r.o.

Image Analysis and MATLAB. Jiří Militky

2011 Jan Janoušek BI-PJP. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

DC circuits with a single source

Database systems. Normal forms

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

Číslo projektu: CZ.1.07/1.5.00/ Název projektu: Inovace a individualizace výuky

Moderní fotorealistický rendering

B1 MORE THAN THE CITY

Návrh a implementace algoritmů pro adaptivní řízení průmyslových robotů

USING VIDEO IN PRE-SET AND IN-SET TEACHER TRAINING

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Analytický model pro rozptyl světla v mlze. Jan Ondřej

Téma 8. Náklady kapitálu. Kapitálová struktura a její optimalizace

Stojan pro vrtačku plošných spojů

SPECIAL THEORY OF RELATIVITY

Litosil - application

připravili Filip Trojan, Pavel Macek,

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

Aktivita CLIL Chemie I.

Fotorealistická grafika

Britské společenství národů. Historie Spojeného království Velké Británie a Severního Irska ročník gymnázia (vyšší stupeň)

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

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

Progressive photon mapping na GPU

Vizualizace 3d designu ve strojírenství

Angličtina v matematických softwarech 2 Vypracovala: Mgr. Bronislava Kreuzingerová

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Theme 6. Money Grammar: word order; questions

Vliv metody vyšetřování tvaru brusného kotouče na výslednou přesnost obrobku

místo, kde se rodí nápady


Využití hybridní metody vícekriteriálního rozhodování za nejistoty. Michal Koláček, Markéta Matulová

CZ.1.07/1.5.00/

Co vím o Ázerbájdžánu?

Zdeňka Lipovská. This project is implemented through the CENTRAL EUROPE Programme co-financed by the ERDF.

Fire Control. T 3 - Determining the elements for fire due to of substitute instruments

SEZNAM PŘÍLOH. Příloha 1 Dotazník Tartu, Estonsko (anglická verze) Příloha 2 Dotazník Praha, ČR (česká verze)... 91

Počítačové simulace a statistická mechanika

Aktivita CLIL Chemie III.

On large rigid sets of monounary algebras. D. Jakubíková-Studenovská P. J. Šafárik University, Košice, Slovakia

ADC Young Creative. Brief MOBIL.CZ

TechoLED H A N D B O O K

Syntactic annotation of a second-language learner corpus

Progressive loyalty V1.0. Copyright 2017 TALENTHUT

Vektorový formát SVG

Dynamic Signals. Ananda V. Mysore SJSU

CODE BOOK NEISS 8. A code book is an identification tool that allows the customer to perform a test result evaluation using a numeric code.

Počítačová Podpora Studia. Přednáška 4. Nástroje pro vědecko-technické výpočty a zpracování dat. (v rámci PPS) PPS 2014

Social Media a firemní komunikace

Caroline Glendinning Jenni Brooks Kate Gridley. Social Policy Research Unit University of York

Transkript:

Počítačová grafika III Přibližný výpočet globálního osvětlení Jaroslav Křivánek, MFF UK Jaroslav.Krivanek@mff.cuni.cz

Opakování

Kvíz 1 F. Suykens Path tracing Light tracing Bidirectional path tracing Kvíz: Proč je skleněná koule černá? PG III (NPGR010) - J. Křivánek 2014

Kvíz 2 Proč BPT neumí zobrazit kaustiku na dně bazénu (bodové světlo, pinhole kamera)? PG III (NPGR010) - J. Křivánek 2014

Fotonové mapy SDS cesty H.W.Jensen PG III (NPGR010) - J. Křivánek 2014 Wojciech Jarosz

Fotonové mapy Fáze výpočtu 1. Rozmístění fotonů 2. Rendering s využitím fotonových map PG III (NPGR010) - J. Křivánek 2014

Final gathering? přímé použití final gathering 500 5000 paprsků informace v globální mapě příliš nepřesná PG III (NPGR010) - J. Křivánek 2014 nepřesnost v globální mapě se zprůměruje

Progresivní fotonové mapy PG III (NPGR010) - J. Křivánek 2014

Globální osvětlení ve filmové produkci

Irradiance caching Jaroslav Křivánek Charles University, Prague Jaroslav.Krivanek@mff.cuni.cz

Motivation Distribution path tracing (DPT) Final gathering (FG) Estimate illumination integral at a point by tracing many rays (500-5000) Costly computation Irradiance caching accelerates DPT/FG for diffuse indirect illumination

Motivation Spatial coherence Diffuse indirect illumination changes slowly over surfaces Indirect irradiance changes slowly

Irradiance caching Sparse locations for full DRT computation Resulting irradiance stored in a cache Most pixels interpolated from cached records Image credit: Okan Arikan

Irradiance caching Faster computation of the diffuse component of indirect illumination Diffuse reflection L o (p) = E(p) * r d (p) / p View-independence Outgoing radiance independent of view direction Total irradiance is all we need => cache irradiance

Irradiance caching Lazy evaluation of new irradiance values Only if cannot be interpolated from existing ones Example: Values E1 and E2 already stored Interpolate at A (fast) Extrapolate at B (fast) Add new record at C (slow) B A E2 E1 C E3

Irradiance caching pseudocode GetIrradiance(p): Color E = InterpolateFromCache(p); if( E == invalid ) E = SampleHemisphere(p); InsertIntoCache(E, p); return E;

Indirect irradiance calculation E = SampleHemisphere(p); Cast 500-5000 secondary rays (user-specified) Compute illumination at intersection Direct illumination only, or Path tracing, or Photon map radiance estimate, or Query in (another) irradiance cache No emission taken into account! PG III (NPGR010) - J. Křivánek 2014

Indirect irradiance calculation E = SampleHemisphere(p); Stratified Monte Carlo hemisphere sampling Subdivide hemisphere into cells Choose a random direction in each cell and trace ray PG III (NPGR010) - J. Křivánek 2014

Indirect irradiance calculation E = SampleHemisphere(p); Estimating irradiance at p: E(p) = L i (p, wi) cosqi dwi General form of the stratified estimator PG III (NPGR010) - J. Křivánek 2014

Indirect irradiance calculation E = SampleHemisphere(p); For irradiance calculation, the integrand is: PDF: PG III (NPGR010) - J. Křivánek 2014

Indirect irradiance calculation Irradiance estimator for IC: L j,k radiance sample from direction: M, N number of divisions along q and f random numbers from R(0,1) PG III (NPGR010) - J. Křivánek 2014

Irradiance caching pseudocode GetIrradiance(p): Color E = InterpolateFromCache(p); if( E == invalid ) E = SampleHemisphere(p); InsertIntoCache(E, p); return E;

Record spacing If E(p) changes slowly => interpolate more If E(p) changes quickly => interpolate less What is the upper bound on rate of change (i.e. gradient) of irradiance? Answer from the worst case analysis (omitted) PG III (NPGR010) - J. Křivánek 2014

Record spacing Near geometry dense spacing Geometry = source of indirect illumination Open spaces sparse sampling

Record spacing

Irradiance interpolation E = InterpolateFromCache(p) Weighted average: Records used for interpolation: PG III (NPGR010) - J. Křivánek 2014

Weighting function [Tablellion and Lamorlette 04] w i ( p) 1 p p max clamp(2 R, R i i min, R max ), 1 n n 1 cos10 i p i R i

Heuristic behind test Record at p i rejected from interpolation at p if p is behind p i

Irradiance caching pseudocode GetIrradiance(p): Color E = InterpolateFromCache(p); if( E == invalid ) E = SampleHemisphere(p); InsertIntoCache(E, p); return E;

Irradiance cache record InsertIntoCache(E, p); Vector3 position Vector3 normal float R Color E Color dedp[3] Color dedn[3] Position in space Normal at `position Validity radius Stored irradiance Gradient w.r.t. translation Gradient w.r.t. rotation PG III (NPGR010) - J. Křivánek 2014

PG III (NPGR010) - J. Křivánek 2014 Irradiance cache data structure InsertIntoCache(E, p); Requirements Fast incremental updates (records stored on the fly) Fast query for all records (spheres) overlapping a given point p

PG III (NPGR010) - J. Křivánek 2014 Data structure: Octree InsertIntoCache(E, p);

PG III (NPGR010) - J. Křivánek 2014 Data structure: Octree back to E = InterpolateFromCache(p)

Irradiance gradients no gradients with gradients PG III (NPGR010) - J. Křivánek 2014

Irradiance gradients Essential for smooth interpolation Calculated during hemisphere sampling i.e. no extra rays, little overhead Stored as a part of the record in the cache Used in interpolation

Rotation gradient

Rotation gradient formula

Translation gradient

Translation gradient formula

Irradiance interpolation w/ grads E = InterpolateFromCache(p) Weighted average: PG III (NPGR010) - J. Křivánek 2014

Irradiance caching examples

Irradiance caching examples Image credit: Eric Tabellion, PDI DreamWorks

Irradiance caching examples Image credit: Eric Tabellion, PDI DreamWorks

Ambient occlusion

Ambient occlusion x =

Ambient occlusion caching

Conclusion Fast indirect illumination of diffuse surfaces Sparse sampling & fast interpolation Biased Not consistent Tons of implementation details that I did not discuss here

Further reading Practical Global Illumination with Irradiance Caching SIGGRAPH Course: 2008, Křivánek et al. Book, 2009, Křivánek & Gautron Both give references to further resources

Bodové globální osvětlení (Point-based Global Illumination)

Bodové globální osvětlení Původní myšlenka M. Bunnell, Dynamic ambient occlusion and indirect lighting, GPU Gems 2 Aplikace pro rendering ve filmu P. Christensen, Point-based approximate color bleeding, Pixar tech memo #08-01 Real-time implementace (CUDA) T. Ritschel et al, Micro-rendering for scalable, parallel final gathering, SIGGRAPH Asia 2009 PG III (NPGR010) - J. Křivánek 2014

Bodové globální osvětlení Slide credit: Tobias Ritschel PG III (NPGR010) - J. Křivánek 2014

Bodové globální osvětlení Slide credit: Per Christensen PG III (NPGR010) - J. Křivánek 2014

Materiály Křivánek et al.: Global Illumination Across Industries, SIGGRAPH 2010 course. http://cgg.mff.cuni.cz/~jaroslav/gicourse2010/ Point-based Global Illumination for Film Production (Per Christensen, PIXAR) Ray Tracing vs. Point-based GI for Animated Films (Eric Tabellion, PDI Dreamworks) Ritschel et al. Microrendering for Scalable, Parallel Final Gathering, SIGGRAPH Asia 2009. http://www.mpi-nf.mpg.de/~ritschel/microrendering/ PG III (NPGR010) - J. Křivánek 2014

Path Tracing

Materiály Křivánek et al.: Global Illumination Across Industries, SIGGRAPH 2010 course. http://cgg.mff.cuni.cz/~jaroslav/gicourse2010/ Ray Tracing Solution in Film Production Rendering (Marcos Fajardo, SolidAngle) PG III (NPGR010) - J. Křivánek 2014

Co jsme nestihli

Letem světem Metropolis Light Transport Virtuální světla + škálovatelné metody Předpočítaný přenos radiance Opticky aktivní média + subsurface scattering Real-Time GI Zobrazování vlasů Modelování vzhledu PG III (NPGR010) - J. Křivánek 2014

Metropolis Light Transport Aplikace vzorkovací metody Metropolis-Hastings na vzorkování funkce příspěvku světelné cesty Mutace cest [Veach 1997] PG III (NPGR010) - J. Křivánek 2014

(a) Bidirectional path tracing with 40 samples per pixel. Image credit: Eric Veach PG III (NPGR010) - J. Křivánek 2014

(b) Metropolis light transport with an average of 250 mutations per pixel [the same computation time as (a)]. Image credit: Eric Veach PG III (NPGR010) - J. Křivánek 2014

Metropolis Photon Tracing Image credit: Toshiya Hachisuka PG III (NPGR010) - J. Křivánek 2014

Instant radiosity (VPL rendering) [Keller 1997] Approximate indirect illumination by 1. Generate VPLs 2. Render with VPLs PG III (NPGR010) - J. Křivánek 2014

Předpočítaný přenos radiance P P P P 1 2 3 N PG III (NPGR010) - J. Křivánek 2014

Opticky aktivní média PG III (NPGR010) - J. Křivánek 2014

Subsurface scattering examples Real Simulated PG III (NPGR010) - J. Křivánek 2014

Real-time GI Techniky založené na VPL Screen-space techniky Implicitní viditelnost & anti-radiance PG III (NPGR010) - J. Křivánek 2014

Zobrazování vlasů PG III (NPGR010) - J. Křivánek 2014

Modelování vzhledu PG III (NPGR010) - J. Křivánek 2014

Závěr

Research challenges in rendering Existing algorithms are inherently bad for some practical scenes More work to do for rendering researchers PG III (NPGR010) - J. Křivánek 2014

What else in CG Main general CG conferences SIGGRAPH (ACM Transactions on Graphics TOG) SIGGRAPH Asia (ACM TOG) Eurographics (Computer Graphics Forum) http://kesen.realtimerendering.com/ PG III (NPGR010) - J. Křivánek 2014

What else in CG Computational photography Appearance modeling & capture Animation (& capture) Dynamic simulation (hair, cloth, water, smoke, solids ) Visual perception Natural phenomena Non-photorealistic rendering Sound simulation Display technology Interaction technology Geometry modeling PG III (NPGR010) - J. Křivánek 2014

General challenges in CG Making CG usable: UI design, collaboration Robust and efficient lighting simulation Virtual human Hair modeling Animation Cloth Managing complexity Natural environments etc Virtual Worlds (shared 3D graphics) and more (the above is my random choice of grand challenges ) PG III (NPGR010) - J. Křivánek 2014