Radiance Cache Splatting: A GPU-Friendly Global Illumination Algorithm P. Gautron J. Křivánek K. Bouatouch S. Pattanaik.

Slides:



Advertisements
Similar presentations
Approximate Ray-Tracing on the GPU with Distance Impostors László Szirmay-Kalos Barnabás Aszódi István Lazányi Mátyás Premecz TU Budapest, Hungary.
Advertisements

Spherical Harmonic Lighting Jaroslav Křivánek. Overview Function approximation Function approximation Spherical harmonics Spherical harmonics Some other.
1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K.
Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup.
A Novel Hemispherical Basis for Accurate and Efficient Rendering P. Gautron J. Křivánek S. Pattanaik K. Bouatouch Eurographics Symposium on Rendering 2004.
Spatial Directional Radiance Caching Václav Gassenbauer Czech Technical University in Prague Jaroslav Křivánek Cornell University Kadi Bouatouch IRISA.
Computer graphics & visualization Global Illumination Effects.
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.
GI 2006, Québec, June 9th 2006 Implementing the Render Cache and the Edge-and-Point Image on Graphics Hardware Edgar Velázquez-Armendáriz Eugene Lee Bruce.
Spherical Harmonic Lighting of Wavelength-dependent Phenomena Clifford Lindsay, Emmanuel Agu Worcester Polytechnic Institute (USA)
Many-light methods – Clamping & compensation
Advanced Computer Graphics
The Radiance Equation Mel Slater. Outline Introduction Light Simplifying Assumptions Radiance Reflectance The Radiance Equation Traditional Rendering.
Rendering with Environment Maps Jaroslav Křivánek, KSVI, MFF UK
Paper Presentation - An Efficient GPU-based Approach for Interactive Global Illumination- Rui Wang, Rui Wang, Kun Zhou, Minghao Pan, Hujun Bao Presenter.
Real-Time Rendering Paper Presentation Imperfect Shadow Maps for Efficient Computation of Indirect Illumination T. Ritschel T. Grosch M. H. Kim H.-P. Seidel.
A Signal-Processing Framework for Forward and Inverse Rendering COMS , Lecture 8.
CSCE 641: Photon Mapping Jinxiang Chai. Outline Rendering equation Photon mapping.
Computer Graphics (Spring 2008) COMS 4160, Lecture 20: Illumination and Shading 2
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 10: Global Illumination Ravi Ramamoorthi Some images courtesy.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Computer Graphics (Fall 2008) COMS 4160, Lecture 19: Illumination and Shading 2
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
GPUGI: Global Illumination Effects on the GPU
Precomputed Radiance Transfer Harrison McKenzie Chapter.
Fast Global-Illumination on Dynamic Height Fields
Computer Graphics (Fall 2004) COMS 4160, Lecture 16: Illumination and Shading 2 Lecture includes number of slides from.
Real-Time Ray Tracing 3D Modeling of the Future Marissa Hollingsworth Spring 2009.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
ICheat: A Representation for Artistic Control of Cinematic Lighting Juraj ObertJaroslav Křivánek Daniel Sýkora Fabio Pellacini Sumanta Pattanaik
Efficient Irradiance Normal Mapping Ralf Habel, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University of Technology.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Jonathan M Chye Technical Supervisor : Mr Matthew Bett 2010.
-Global Illumination Techniques
By Mahmoud Moustafa Zidan Basic Sciences Department Faculty of Computer and Information Sciences Ain Shams University Under Supervision of Prof. Dr. Taymoor.
Computer graphics & visualization Photon Mapping.
An Efficient Representation for Irradiance Environment Maps Ravi Ramamoorthi Pat Hanrahan Stanford University SIGGRAPH 2001 Stanford University SIGGRAPH.
Improved VPL Distribution Jaroslav Křivánek Charles University in Prague (Optimizing) Realistic Rendering with Many-Light Methods (part of the “Handling.
1 Photon-driven Irradiance Cache J. BrouillatP. GautronK. Bouatouch INRIA RennesUniversity of Rennes1.
Taku KomuraComputer Graphics Local Illumination and Shading Computer Graphics – Lecture 10 Taku Komura Institute for Perception, Action.
View-Dependent Precomputed Light Transport Using Nonlinear Gaussian Function Approximations Paul Green 1 Jan Kautz 1 Wojciech Matusik 2 Frédo Durand 1.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
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.
Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.
Fast Approximation to Spherical Harmonics Rotation
Real-Time High Quality Rendering CSE 291 [Winter 2015], Lecture 2 Graphics Hardware Pipeline, Reflection and Rendering Equations, Taxonomy of Methods
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Surface Rendering Methods 고려대학교 컴퓨터 그래픽스 연구실.
1 Temporal Radiance Caching P. Gautron K. Bouatouch S. Pattanaik.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Monte-Carlo Ray Tracing and
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.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Stochastic Path Tracing Algorithms K. H. Ko School of Mechatronics Gwangju.
Thank you for the introduction
Caustics Triangles on the GPU Umenhoffer Tamás Gustavo Patow Szirmay-Kalos László.
RENDERING : Global Illumination
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.
Computer Graphics Ken-Yi Lee National Taiwan University (the slides are adapted from Bing-Yi Chen and Yung-Yu Chuang)
Toward Real-Time Global Illumination. Global Illumination == Offline? Ray Tracing and Radiosity are inherently slow. Speedup possible by: –Brute-force:
Toward Real-Time Global Illumination. Project Ideas Distributed ray tracing Extension of the radiosity assignment Translucency (subsurface scattering)
Advanced Computer Graphics
Advanced Computer Graphics
Visualization of Scanned Cave Data with Global Illumination
The Rendering Equation
Chapter XVI Texturing toward Global Illumination
Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes
Real-time Global Illumination with precomputed probe
Presentation transcript:

Radiance Cache Splatting: A GPU-Friendly Global Illumination Algorithm P. Gautron J. Křivánek K. Bouatouch S. Pattanaik

EGSR 2005 – Konstanz, Germany 2 Global Illumination Why? DirectIndirect Global Illumination

EGSR 2005 – Konstanz, Germany 3 Global Illumination How? L o (P, ω o ) ∫ L i (P, ω i ) = * BRDF(ω o, ω i ) *cos(θ)dω i

EGSR 2005 – Konstanz, Germany 4 Global Illumination How? L o (P, ω o ) ∫ L i (P, ω i ) = * BRDF(ω o, ω i ) *cos(θ)dω i No analytical solution Numerical methods - Radiosity - Photon mapping - Path tracing - Bidirectional path tracing - Irradiance & Radiance caching - …

EGSR 2005 – Konstanz, Germany 5 GPUs GPU Speed Time Speed

EGSR 2005 – Konstanz, Germany 6 GPUs Versatility Time Linear algebra Fluid dynamics Signal processing Databases … And graphics! Simple 3D graphics only

EGSR 2005 – Konstanz, Germany 7 Global Illumination & GPUs CPU GPU

EGSR 2005 – Konstanz, Germany 8 Global Illumination & GPUs Previous work Hemicube Cohen et al PRT Sloan et al Photon mapping on GPU Purcell et al. 2003

EGSR 2005 – Konstanz, Germany 9 Contributions A reformulation of (Ir)Radiance caching … - No complex data structure - Fast, image-space (ir)radiance interpolation - Fast approximation of hemisphere sampling … for fast and easy GPU implementation

EGSR 2005 – Konstanz, Germany 10 Outline Introduction Irradiance & Radiance Caching Our method: Radiance Cache Splatting Results Conclusion & Future Work

EGSR 2005 – Konstanz, Germany 11 Outline Introduction Irradiance & Radiance Caching Our method: Radiance Cache Splatting Results Conclusion & Future Work

EGSR 2005 – Konstanz, Germany 12 Irradiance Caching   Sparse computation of indirect diffuse lighting

EGSR 2005 – Konstanz, Germany 13 Irradiance Caching Sparse computation of indirect diffuse lighting

EGSR 2005 – Konstanz, Germany 14 Irradiance Caching Interpolation  Sparse computation of indirect diffuse lighting

EGSR 2005 – Konstanz, Germany 15 Interpolation = E(P) nknk n EkEk + (n k x n) r EkEk + D t EkEk E

EGSR 2005 – Konstanz, Germany 16 Interpolation = E(P) w k (P) Σ k S w k (P) Σ k S EkEk + (n k x n) r EkEk + D t EkEk E S = { k / w k (P) > 1/a } n1n1 n n2n2 n3n3 n4n4

EGSR 2005 – Konstanz, Germany 17 Radiance Caching Extension of irradiance caching to glossy interreflections Cache directional distribution of light

EGSR 2005 – Konstanz, Germany 18 Radiance Caching Extension of irradiance caching to glossy interreflections Cache directional distribution of light Hemispherical Harmonics

EGSR 2005 – Konstanz, Germany 19 Radiance Caching HSH Incident Radiance HSH BRDF   L1L1 L2L2 LnLn f1f1 f2f2 fnfn

EGSR 2005 – Konstanz, Germany 20 Implementation Ray tracing Cache Record Computation  

EGSR 2005 – Konstanz, Germany 21 Implementation Cache storage

EGSR 2005 – Konstanz, Germany 22 Outline Introduction Irradiance & Radiance Caching Our method: Radiance Cache Splatting Results Conclusion & Future Work

EGSR 2005 – Konstanz, Germany 23 (Ir)Radiance Caching vs GPU (Ir)Radiance Caching GPU Ray tracingRasterization Cache stored in tree1/2/3D textures Spatial queriesTexture lookups ?

EGSR 2005 – Konstanz, Germany 24 Reformulation Octree Ray tracing (Ir)Radiance Caching Native GPU features (Ir)Radiance Caching Our method

EGSR 2005 – Konstanz, Germany 25 Outline Introduction Irradiance & Radiance Caching Our method: Radiance Cache Splatting Results Conclusion & Future Work From octree to splatting From ray tracing to rasterization Overall algorithm

EGSR 2005 – Konstanz, Germany 26 Outline Introduction Irradiance & Radiance Caching Our method: Radiance Cache Splatting Results Conclusion & Future Work From octree to splatting From ray tracing to rasterization Overall algorithm

EGSR 2005 – Konstanz, Germany 27 From Octree to Splatting = E(P) w k (P) Σ k S w k (P) Σ k S EkEk + (n k x n) r EkEk + D t EkEk E S = { k / w k (P) > 1/a } Irradiance Interpolation n1n1 n n2n2 n3n3 n4n4

EGSR 2005 – Konstanz, Germany 28 From Octree to Splatting Irradiance Caching Weighting Function nknk n P PkPk w k (P) = 1 ||P-P k || RkRk + 1-n.n k Distance Normals divergence

EGSR 2005 – Konstanz, Germany 29 From Octree to Splatting Simplified Weighting Function w k (P) = 1 ||P-P k || RkRk + 1-n.n k Distance Normals divergence nknk n PPkPk

EGSR 2005 – Konstanz, Germany 30 From Octree to Splatting Simplified Weighting Function w k (P) = 1 ||P-P k || RkRk + 1-n.n k Distance Normals divergence nknk n PPkPk w k (P) = 1 ||P-P k || RkRk Distance ~

EGSR 2005 – Konstanz, Germany 31 From Octree to Splatting Simplified Weighting Function nknk n PPkPk aR k w k (P) = ||P-P k || RkRk > 1/a ~

EGSR 2005 – Konstanz, Germany 32 From Octree to Splatting Principle w k (P) = ||P-P k || RkRk > 1/a ~

EGSR 2005 – Konstanz, Germany 33 From Octree to Splatting Principle

EGSR 2005 – Konstanz, Germany 34 From Octree to Splatting Principle w k (P)>1/a ?

EGSR 2005 – Konstanz, Germany 35 From Octree to Splatting Principle w k (P)E(P) w k (P)

EGSR 2005 – Konstanz, Germany 36 From Octree to Splatting Principle

EGSR 2005 – Konstanz, Germany 37 From Octree to Splatting Principle w k (P)E(P) w k (P) Σ k Σ k

EGSR 2005 – Konstanz, Germany 38 From Octree to Splatting Final Image Generation w k (P)E(P) Σ k w k (P) Σ k

EGSR 2005 – Konstanz, Germany 39 From Octree to Splatting Example

EGSR 2005 – Konstanz, Germany 40 Outline Introduction Irradiance & Radiance Caching Our method: Radiance Cache Splatting Results Conclusion & Future Work From octree to splatting From ray tracing to rasterization Overall algorithm

EGSR 2005 – Konstanz, Germany 41 From Ray Tracing to Rasterization CPU 

EGSR 2005 – Konstanz, Germany 42 From Ray Tracing to Rasterization  GPU Vertex Shader Fragment Shader Simple plane sampling

EGSR 2005 – Konstanz, Germany 43 From Ray Tracing to Rasterization  GPU Vertex Shader Fragment Shader Simple plane sampling

EGSR 2005 – Konstanz, Germany 44 From Ray Tracing to Rasterization GPU Vertex Shader Fragment Shader Simple plane sampling

EGSR 2005 – Konstanz, Germany 45 From Ray Tracing to Rasterization GPU Vertex Shader Fragment Shader Simple plane sampling Incoming radiance loss

EGSR 2005 – Konstanz, Germany 46 From Ray Tracing to Rasterization  GPU Vertex Shader Fragment Shader Our plane sampling

EGSR 2005 – Konstanz, Germany 47 From Ray Tracing to Rasterization GPU Vertex Shader Fragment Shader Our plane sampling Compensation of incoming radiance loss

EGSR 2005 – Konstanz, Germany 48 Our plane sampling Summary Easy implementation on GPU 3x more accurate than simple plane sampling Plausible directional information

EGSR 2005 – Konstanz, Germany 49 Outline Introduction Irradiance & Radiance Caching Our method: Radiance Cache Splatting Results Conclusion & Future Work From octree to splatting From ray tracing to rasterization Overall algorithm

EGSR 2005 – Konstanz, Germany 50 Algorithm Step 1 : information generation GPU Vertex Shader Fragment Shader

EGSR 2005 – Konstanz, Germany 51 Algorithm Step 2 : detection CPU ?

EGSR 2005 – Konstanz, Germany 52 Algorithm Step 2 : detection CPU GPU Hemisphere sampling

EGSR 2005 – Konstanz, Germany 53 Algorithm Step 2 : detection CPU ? GPU Hemisphere sampling

EGSR 2005 – Konstanz, Germany 54 Algorithm Step 2 : detection CPU ?

EGSR 2005 – Konstanz, Germany 55 Algorithm Step 2 : detection CPU

EGSR 2005 – Konstanz, Germany 56 Algorithm Step 3 : display GPU Vertex Shader Fragment Shader Vertex Shader Matrices Record information

EGSR 2005 – Konstanz, Germany 57 Algorithm Step 3 : display GPU Vertex Shader Fragment Shader Fragment Shader Record information

EGSR 2005 – Konstanz, Germany 58 Algorithm Step 3 : display GPU Vertex Shader Fragment Shader Fragment Shader

EGSR 2005 – Konstanz, Germany 59 Algorithm Summary No spatial data structure Spatial queries replaced by splatting Interpolation by blending No quality loss compared to (Ir)Radiance Caching No order constraint for image traversal Can be implemented using native GPU features

EGSR 2005 – Konstanz, Germany 60 Our renderer Record computation 1-bounce GI: shadow maps & plane sampling Indirect lighting Radiance cache splatting Direct lighting GPU per-pixel lighting & shadow maps CPU ray tracing

EGSR 2005 – Konstanz, Germany 61 Outline Introduction Irradiance & Radiance Caching Our method: Radiance Cache Splatting Results Conclusion & Future Work

EGSR 2005 – Konstanz, Germany 62 Results Sibenik Cathedral (80K triangles)

EGSR 2005 – Konstanz, Germany 63 Results Sponza Atrium (66K triangles)

EGSR 2005 – Konstanz, Germany 64 Results Comparison with Radiance Sponza AtriumSibenik Cathedral Radiance Time Our Renderer Time Speedup 645 s425 s 13,7 s14,3 s 47,129,7

EGSR 2005 – Konstanz, Germany 65 Results From Irradiance to Radiance Caching: Venus (24K triangles)

EGSR 2005 – Konstanz, Germany 66 Conclusion Reformulation of (Ir)Radiance Caching Speedup: 29x – 47x Interactive or fast, high quality rendering

EGSR 2005 – Konstanz, Germany 67 Future Work All-Frequency BRDFs More complex models Better hemisphere sampling Multiple bounces Area light sources

EGSR 2005 – Konstanz, Germany 68 Any questions? Radiance Cache Splatting on the web: