1 Photon-driven Irradiance Cache J. BrouillatP. GautronK. Bouatouch INRIA RennesUniversity of Rennes1.

Slides:



Advertisements
Similar presentations
1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K.
Advertisements

Spatial Directional Radiance Caching Václav Gassenbauer Czech Technical University in Prague Jaroslav Křivánek Cornell University Kadi Bouatouch IRISA.
Multidimensional Lightcuts Bruce Walter Adam Arbree Kavita Bala Donald P. Greenberg Program of Computer Graphics, Cornell University.
Scalability with Many Lights 1 Lightcuts & Multidimensonal Lightcuts Course: Realistic Rendering with Many-Light Methods Note: please see website for the.
Computer graphics & visualization Global Illumination Effects.
Interactive Rendering using the Render Cache Bruce Walter, George Drettakis iMAGIS*-GRAVIR/IMAG-INRIA Steven Parker University of Utah *iMAGIS is a joint.
Chunhui Yao 1 Bin Wang 1 Bin Chan 2 Junhai Yong 1 Jean-Claude Paul 3,1 1 Tsinghua University, China 2 The University of Hong Kong, China 3 INRIA, France.
LIGHT TRANSPORT 25/11/2011 Shinji Ogaki. 4 Papers Progressive Photon Beams Lightslice: Matrix Slice Sampling for Many- Lights Problem Modular Radiance.
Many-light methods – Clamping & compensation
Advanced Computer Graphics
Photorealistic Rendering. Ray tracing v. photorealistic rendering What illumination effects are not captured by ray tracing? What illumination effects.
Ray Tracing & Radiosity Dr. Amy H. Zhang. Outline  Ray tracing  Radiosity.
Scalability with many lights II (row-column sampling, visibity clustering) Miloš Hašan.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Path Differentials for MC Rendering Frank Suykens Department of Computer Science K.U.Leuven, Belgium Dagstuhl 2001: Stochastic methods in Rendering.
Paper Presentation - An Efficient GPU-based Approach for Interactive Global Illumination- Rui Wang, Rui Wang, Kun Zhou, Minghao Pan, Hujun Bao Presenter.
Precomputed Local Radiance Transfer for Real-time Lighting Design Anders Wang Kristensen Tomas Akenine-Moller Henrik Wann Jensen SIGGRAPH ‘05 Presented.
Real-Time Rendering Paper Presentation Imperfect Shadow Maps for Efficient Computation of Indirect Illumination T. Ritschel T. Grosch M. H. Kim H.-P. Seidel.
CSCE 641: Photon Mapping Jinxiang Chai. Outline Rendering equation Photon mapping.
Photon Tracing with Arbitrary Materials Patrick Yau.
Direct-to-Indirect Transfer for Cinematic Relighting Milos Hasan (Cornell University) Fabio Pellacini (Dartmouth College) Kavita Bala (Cornell University)
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Everything on Global Illumination Xavier Granier - IMAGER/UBC.
Fast Global-Illumination on Dynamic Height Fields
Matrix Row-Column Sampling for the Many-Light Problem Miloš Hašan (Cornell University) Fabio Pellacini (Dartmouth College) Kavita Bala (Cornell University)
Paper by Alexander Keller
Real-Time Diffuse Global Illumination Using Radiance Hints HPG2011 Georgios (George) Papaioannou Dept. of Computer Science Athens University of Economics.
Outline Reprojection and data reuse Reprojection and data reuse – Taxonomy Bidirectional reprojection Bidirectional reprojection.
Computer Graphics Shadows
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Global Illumination. Direct Illumination vs. Global Illumination reflected, scattered and focused light (not discreet). physical-based light transport.
Realtime Caustics using Distributed Photon Mapping Johannes Günther Ingo Wald * Philipp Slusallek Computer Graphics Group Saarland University ( * now at.
Photon Mapping (PM), Progressive PM, Stochastic PPM Jiří Vorba.
Interactive Virtual Relighting and Remodelling of Real Scenes C. Loscos 1, MC. Frasson 1,2,G. Drettakis 1, B. Walter 1, X. Granier 1, P. Poulin 2 (1) iMAGIS*
-Global Illumination Techniques
Computer Graphics Global Illumination: Photon Mapping, Participating Media Lecture 12 Taku Komura.
Global Illumination with a Virtual Light Field Mel Slater Jesper Mortensen Pankaj Khanna Insu Yu Dept of Computer Science University College London
Improved VPL Distribution Jaroslav Křivánek Charles University in Prague (Optimizing) Realistic Rendering with Many-Light Methods (part of the “Handling.
View-Dependent Precomputed Light Transport Using Nonlinear Gaussian Function Approximations Paul Green 1 Jan Kautz 1 Wojciech Matusik 2 Frédo Durand 1.
Global Illumination CMSC 435/634. Global Illumination Local Illumination – light – surface – eye – Throw everything else into ambient Global Illumination.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3.
Using Interactive Ray Tracing for Interactive Global Illumination Computer Graphics Lab Saarland University, Germany
Efficient Streaming of 3D Scenes with Complex Geometry and Complex Lighting Romain Pacanowski and M. Raynaud X. Granier P. Reuter C. Schlick P. Poulin.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Surface Rendering Methods 고려대학교 컴퓨터 그래픽스 연구실.
Differential Instant Radiosity for Mixed Reality Martin Knecht, Christoph Traxler, Oliver Mattausch, Werner Purgathofer, Michael Wimmer Institute of Computer.
1 Temporal Radiance Caching P. Gautron K. Bouatouch S. Pattanaik.
On robust Monte Carlo algorithms for multi-pass global illumination Frank Suykens – De Laet 17 September 2002.
Monte-Carlo Ray Tracing and
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Pure Path Tracing: the Good and the Bad Path tracing concentrates on important paths only –Those that hit the eye –Those from bright emitters/reflectors.
02/12/03© 2003 University of Wisconsin Last Time Intro to Monte-Carlo methods Probability.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Stochastic Path Tracing Algorithms K. H. Ko School of Mechatronics Gwangju.
University of Texas at Austin CS395T - Advanced Image Synthesis Spring 2007 Don Fussell Photon Mapping and Irradiance Caching.
Fast Global Illumination Including Specular Effects Xavier Granier 1 George Drettakis 1 Bruce J. Walter 2 1 iMAGIS -GRAVIR/IMAG-INRIA iMAGIS is a joint.
Global Illumination (3) Photon Mapping (1). Overview Light Transport Notation Path Tracing Photon Mapping –Photon Tracing –The Photon Map.
Radiance Cache Splatting: A GPU-Friendly Global Illumination Algorithm P. Gautron J. Křivánek K. Bouatouch S. Pattanaik.
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
Global Illumination (2) Radiosity (2). The Radiosity Equation The "radiosity equation" describes the amount of energy which can be emitted from a surface,
Light Animation with Precomputed Light Paths on the GPU László Szécsi, TU Budapest László Szirmay-Kalos, TU Budapest Mateu Sbert, U of Girona.
Interactive Rendering of Translucent Deformable Objects Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Hans-Peter Seidel 2, Frank Van Reeth
Real-Time Soft Shadows with Adaptive Light Source Sampling
Reconstruction For Rendering distribution Effect
© 2005 University of Wisconsin
Incremental Instant Radiosity for Real-Time Indirect Illumination
Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes
Efficient Importance Sampling Techniques for the Photon Map
Smoother Subsurface Scattering
Real-time Global Illumination with precomputed probe
Presentation transcript:

1 Photon-driven Irradiance Cache J. BrouillatP. GautronK. Bouatouch INRIA RennesUniversity of Rennes1

2 Motivations Global Illumination in scenes with complex light interactions Indirect diffuse component is very important for the overall aspect of final rendering Multiples bounces, any lighting, large scenes (architectural design, walkthrough) –Interactive or view-independent Fast preview of good quality  Photon-Driven Irradiance Cache

3 Previous work Mesh-based –Radiosity & Lightmaps [Goral et al. 84]: compute a solution for the whole scene at once, can be interactively displayed, Discontinuity meshing [Lischinski 92] Point-based –Irradiance Cache [Ward et al. 88]: Irradiance is sparsely sampled over surfaces Radiance cache splatting [Gautron et al. 05]: interactive display of an irradiance cache –Photon mapping [Jensen 96]: divides light flux into photons Complex lighting, very large scenes [Christensen et al. 04] Final gathering combined with irradiance cache  Photon-Driven Irradiance Cache

4 Previous work Point-based (continued) –Instant radiosity [Keller 97]: approximate indirect lighting using several virtual point-light sources (VPLs) Many-light sources problem: Lightcuts [Walter et al. 05], Matrix Row-Column Sampling [Hasan et al. 07] Incremental Instant Radiosity [Laine et al. 07]: interactive, limited to one bounce interactions Metropolis Instant Radiosity [Segovia et al. 07]: reduce the number of VPLs used, view dependent –Direct-to-indirect transfer [Hasan et al. 06]: samples surface with points, precompute contribution of these points to final image Dynamic lights, fixed scene/viewpoint High-quality interactive relighting, large precomputation time (hours) –Meshless Hierarchical basis [Lehtinen et al. 08] Dynamic lights and viewpoint, long precomputation time.  Photon-Driven Irradiance Cache

5 Our approach Point-based + short precomputation time + view independency How: combination of photon maps and irradiance cache –Photon map: Elegant method, widely used Any kind of light sources, multiple bounces, highly dense environments, large scenes –Irradiance caching: Interactive display, compact representation, no surface parameterization Compute a view-independent irradiance cache from a photon map Advantages: –Fast view-independent preview of photon map simulations –Uses GPUs (splatting) –Easy to implement  Photon-Driven Irradiance Cache  Our algorithm

6 More precisely… Photon Mapping –(+) View-independent lighting simulation (scattering photons) –(-) Rendering is either noisy or costly (final gathering), and view-dependent Irradiance Cache –(+) Interactive rendering of the cache for static scene, high quality –(-) View dependent: new records have to be created when walking through unexplored parts of the scene. Records cover the whole scene: many viewpoints Our approach –We first compute a coarse irradiance cache from a photon map Covers the whole scene: view independent No additional rays to be cast Interactive fast preview of the photon map solution –This coarse cache can be refined using final gathering Reduce the number of rays cast, using visibility information from the photon paths  Photon-Driven Irradiance Cache  Our algorithm

7 Irradiance cache: set of records A record: –Position (vector) –Harmonic mean distance, D H, from record to other objects of the scene (scalar) –Irradiance value (vector) –Irradiance gradient (vector) Deduce these values from a photon map Irradiance cache data structure  Photon-Driven Irradiance Cache  Irradiance cache

8 Algorithm overview 1 st pass : –Building a classical photon map 2 nd pass, from the photon map : –Deduce position of irradiance records and harmonic mean distance –Compute coarse irradiance values for each record –Coarse irradiance cache can be used for interactive (pre-)vizualisation 3 rd pass : –Refine irradiance values associated with each record using final gathering, compute gradients –Can be done in parallel with previzualisation –Refine first the visible records  Photon-Driven Irradiance Cache

9 direct lightingphoton map : 250k photons Scattering the photon across the scene –We fix a minimal number of bounces, then use Russian Roulette First Pass: Photon map  Photon-Driven Irradiance Cache  First pass

10 Second Pass: Irradiance record positions We want the cache to cover most part of the scene (avoid cache misses) –Records need to be created at each point where incident irradiance is not null –Photon represents incident light We use photon positions as “candidates” for records As we process each photon position, we have to decide whether to create a new record or not.  Photon-Driven Irradiance Cache  Second pass

11 We start with an empty cache The record A is created at photon a position –This record have a zone of influence –Inside this zone, the irradiance stored in the record A will be used for interpolation. –Its data structure is augmented with a new field giving a list of all the photons within its zone of influence (kd-tree query) Irradiance record positions 1  Photon-Driven Irradiance Cache  Second pass

12 Photon b lies inside the zone of influence of a previous created record –No need to create a new record at b position How do we know it ? –In classical irradiance caching, the records are stored in an octree –Octree query provide the neighborhood of b Millions of photons: too costly Our approach avoids any octree query How: new field in the photon data structure –w c : cumulative contribution of neighbour records, updated at the creation of each record Irradiance record positions 2  Photon-Driven Irradiance Cache  Second pass

13 Decision on creating a new record or not relies on w c –For photon c, w c is less than a given threshold: not enough records around it –Then a new record C is created at photon position w c field of all the photons lying in the zone of influence of C is updated Irradiance record positions 3  Photon-Driven Irradiance Cache  Second pass

14 Harmonic mean distance estimation Irradiance records need to carry D H, the harmonic mean distance to objects of the scene D H is used to determine the size of the zone of influence of the record Bad estimation leads to artifacts during rendering  Photon-Driven Irradiance Cache  Second pass

15 Usually done by casting rays towards the scene We want to deduce D H from the photon maps without additional ray casting Harmonic mean distance estimation 1  Photon-Driven Irradiance Cache  Second pass

16 Harmonic mean distance estimation 2 Photons store information about the distance between subsequent hit points Photons close to a record K give us information about visibility around K  Photon-Driven Irradiance Cache  Second pass

17 By reprojection, we estimate visibility around K without casting rays This may miss some occluders, and introduce errors We use only photons close to K: –inside the zone of influence Neighbour clamping [Krivanek et al. 06] –Reduction of D H based on neighbour records (borders,…) Harmonic mean distance estimation 3  Photon-Driven Irradiance Cache  Second pass

18 Estimating irradiance from photon map We estimate incoming irradiance at record positions with density estimation Usually, search for the n-nearest neighbours photons in a kd-tree –Automatic adaptation with actual density of photon at P –n can be seen as a trade off between noise and blur in the final image P A Irradiance at P = sum of flux carried by n photons divided by area A n = ?  Photon-Driven Irradiance Cache  Second pass

19 Records with large zone of influence may have high visual importance on the final rendered images Blur is visually more pleasant than noise, for previews We want n vary depending on the size of the zone of influence To this end, we use a range-search approach –Search for the nearest photon lying in the zone of influence P A r = α.D H r  Photon-Driven Irradiance Cache  Second pass Estimating irradiance from photon map

20 Coarse irradiance cache 250 k photons, 4 bounces –PM : 0.8 sec –Cache Generation : 1,20 sec Irradiance values –Still some noise –no gradients Interactive visualization Fast preview of global illumination solution from a photon map  Photon-Driven Irradiance Cache  Second pass  Results

21 Third Pass: Refining the cache We would like to refine the coarse cache: –More accurate estimation of irradiance for each record –Compute irradiance gradients We use gradients from [Krivanek et al. 05] –dividing the hemisphere into cells and by casting rays (final gathering) We want to save rays thanks to information contained in the photon map  Photon-Driven Irradiance Cache  Third pass

22 Like D H estimation, reuse visibility information from photons Photons are linked along a path –Instantly retrieve the photon corresponding to last hit point Assign each last-hit-point-photon to a cell of the hemisphere. Refining the cache 1  Photon-Driven Irradiance Cache  Third pass

23 Photons have been assigned a cumulative irradiance value at the end of the 2 nd pass If a cell has been assigned a photon: –Fast estimation of incident radiance –No ray cast Refining the cache 2  Photon-Driven Irradiance Cache  Third pass

24 Cast rays through non already assigned cells Incident radiance along the ray –search for the nearest photon at intersection point Compute irradiance and gradients Possible to refine D H : –Consequence: creation of new records Refining the cache 3  Photon-Driven Irradiance Cache  Third pass

25 Results Cornell Box (32 poly.) 250 k photons, 4 bounces Total time 6.7 sec –PM : 0.8 sec –Cache Generation : 1,20 sec –Refinement : 4.6 sec 39% saved rays (compared to brute force final gathering per record) visualization 40 fps Results gathered on a Pentium4 3.8 Ghz computer, 2GB RAM, NVidia GeForce 7800 GTX 512MB  Photon-Driven Irradiance Cache  Third pass  Results

26 Results Sibenik Cathedral (80k poly.) 4 M photons, 9 bounces Total time 204 sec –PM : 30 sec –Cache Generation : 12 sec –Refinement : 162 sec 46% saved rays Visualization 5 fps Results gathered on a Pentium4 3.8 Ghz computer, 2GB RAM, NVidia GeForce 7800 GTX 512MB  Photon-Driven Irradiance Cache  Third pass  Results

27 Fast preview comparison End of 2 nd pass View-independent: sec View-dependent: sec End of 3 rd pass View-independent: sec View-dependent: sec  Photon-Driven Irradiance Cache  Comparisons

28 Refined cache comparison Stochastic ray tracing 900 rays / pixel : 1300 sec View dependent Photon-driven Irradiance Cache 7 sec, view independent Interactive visualization  Photon-Driven Irradiance Cache  Comparisons

29 Refined cache comparison Stochastic ray tracing 900 rays / pixel : 3hour View dependent Photon-driven Irradiance Cache 204 sec, view independent Interactive visualization  Photon-Driven Irradiance Cache  Comparisons

30 Conclusion Combination of photon maps and irradiance cache Compute an irradiance cache from a photon map –Fast view-independent preview of photon map simulations –High-quality after refinement –Easy to implement Future works –Parallelization of irradiance cache creation –Glossy surfaces, using a radiance cache [Krivanek et al. 05] –Out-of-core aspects (very large scenes)  Photon-Driven Irradiance Cache

31 Questions? Fin  Photon-Driven Irradiance Cache

32 Our approach Point-based + short precomputation time + view independency How: combination of photon maps and irradiance cache –Photon map: Elegant method, widely used Any kind of light sources, multiple bounces, highly dense environments, large scenes –Irradiance caching: Interactive display, compact representation, no surface parameterization Compute a view-independent irradiance cache from a photon map Advantages: –Fast view-independent preview of photon map simulations –Uses GPUs (splatting) –Easy to implement  Photon-Driven Irradiance Cache  Our algorithm

33 More precisely… Photon Mapping –(+) View-independent lighting simulation (scattering photons) –(-) Rendering is either noisy or costly (final gathering), and view-dependent Irradiance Cache –(+) Interactive rendering of the cache for static scene, high quality –(-) View dependent: new records have to be created when walking through unexplored parts of the scene. Records cover the whole scene: many viewpoints Our approach –We first compute a coarse irradiance cache from a photon map Covers the whole scene: view independent No additional rays to be cast Interactive fast preview of the photon map solution –This coarse cache can be refined using final gathering Reduce the number of rays cast, using visibility information from the photon paths  Photon-Driven Irradiance Cache  Our algorithm

34 Estimating irradiance from photon map over-estimation of A Boundary bias: error in estimation of area A –Over estimation around geometry boundaries –Under estimation on curved surfaces –Light leaks Since we’re doing much less density estimations, we can use techniques to compute a more accurate approximation of A –Convex hull [Jensen01], OctoBoxes, Geometry feelers [Tobler et al. 06], … convex hull  Photon-Driven Irradiance Cache  Second pass

35 Direct visualization of photon map  Photon-Driven Irradiance Cache  Second pass  Comparison  Photon Mapping  250k photons  n = 32  4 sec  View dependent  1 DE / pixel  Our method  250k photons  2 sec  View independent  Interactive display  1~2 DE / record  Photon Mapping  50k photons  n = 128  4 sec  View dependent  1 DE / pixel  [Christensen 99] caching  50k photons  n = 128  1, sec  View dependent  1 DE / photon