Lecture 12: Photon Mapping. Biased Methods

Similar documents
CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination

Part I The Basic Algorithm. Principles of Photon Mapping. A two-pass global illumination method Pass I Computing the photon map

The Rendering Equation and Path Tracing

Choosing the Right Algorithm & Guiding

Lecture 7: Monte Carlo Rendering. MC Advantages

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

CS-184: Computer Graphics. Today. Lecture 22: Radiometry! James O Brien University of California, Berkeley! V2014-S

Global Illumination. COMP 575/770 Spring 2013

Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping

Assignment 3: Path tracing

Photon Mapping. Due: 3/24/05, 11:59 PM

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

Motivation. Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch

The Rendering Equation. Computer Graphics CMU /15-662, Fall 2016

Korrigeringar: An introduction to Global Illumination. Global Illumination. Examples of light transport notation light

Lecture 18: Primer on Ray Tracing Techniques

Recent Advances in Monte Carlo Offline Rendering

Global Illumination with Glossy Surfaces

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

Rendering Equation & Monte Carlo Path Tracing I

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

Biased Monte Carlo Ray Tracing:

The Rendering Equation. Computer Graphics CMU /15-662

Stochastic Path Tracing and Image-based lighting

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate?

Motivation. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

Lecture 7 - Path Tracing

Global Illumination and Monte Carlo

Illumination Algorithms

GAMES Webinar: Rendering Tutorial 2. Monte Carlo Methods. Shuang Zhao

Monte Carlo Ray-tracing and Rendering

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

11/2/2010. In the last lecture. Monte-Carlo Ray Tracing : Path Tracing. Today. Shadow ray towards the light at each vertex. Path Tracing : algorithm

COMP371 COMPUTER GRAPHICS

Biased Monte Carlo Ray Tracing

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

Monte Carlo Ray Tracing. Computer Graphics CMU /15-662

rendering equation camera all

Motivation: Monte Carlo Path Tracing. Sampling and Reconstruction of Visual Appearance. Monte Carlo Path Tracing. Monte Carlo Path Tracing

Photon Mapping. Kadi Bouatouch IRISA

Paths, diffuse interreflections, caching and radiometry. D.A. Forsyth

Photon Mapping. Photon Mapping. Why Map Photons? Sources. What is a Photon? Refrac=on of a Caus=c. Jan Kautz

Discussion. Smoothness of Indirect Lighting. History and Outline. Irradiance Calculation. Irradiance Caching. Advanced Computer Graphics (Spring 2013)

Photon Mapping. Michael Doggett Department of Computer Science Lund university

Improved Radiance Gradient Computation

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]

Global Illumination The Game of Light Transport. Jian Huang

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz

Ongoing Developments in Photon Mapping

rendering equation computer graphics rendering equation 2009 fabio pellacini 1

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Photon Maps. The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces)

Philipp Slusallek Karol Myszkowski. Realistic Image Synthesis SS18 Instant Global Illumination

SOME THEORY BEHIND REAL-TIME RENDERING

Radiometry & BRDFs CS295, Spring 2017 Shuang Zhao

Final Project: Real-Time Global Illumination with Radiance Regression Functions

To Do. Real-Time High Quality Rendering. Motivation for Lecture. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

13 Distribution Ray Tracing

The Rendering Equation Philip Dutré. Course 4. State of the Art in Monte Carlo Global Illumination Sunday, Full Day, 8:30 am - 5:30 pm

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Shading Models. Welcome!

Realistic Image Synthesis

Global Illumination using Photon Maps

Realistic Image Synthesis

Monte Carlo Path Tracing. The Rendering Equation

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Introduction to Photon Mapping RADIANCE Workshop 2010 Course Advanced Fenestration

A NEW APPROACH OF DENSITY ESTIMATION FOR GLOBAL ILLUMINATION

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

I present Adjoint-Driven Russian Roulette and Splitting for efficient light transport simulation which is a part of my PhD.

MITOCW MIT6_172_F10_lec18_300k-mp4

Monte Carlo Integration of The Rendering Equation. Computer Graphics CMU /15-662, Spring 2017

CS-184: Computer Graphics. Today. Lecture #16: Global Illumination. Sunday, November 8, 2009

Reusing Shading for Interactive Global Illumination GDC 2004

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

02 Shading and Frames. Steve Marschner CS5625 Spring 2016

CS 5625 Lec 2: Shading Models

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

Local vs. Global Illumination & Radiosity

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

A Survey of Radiosity and Ray-tracing. Methods in Global Illumination

Photon Differentials

The V-Ray installer will automatically remove any previous installations. This will allow you to seamlessly upgrade from previous versions.

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:

Overview. Radiometry and Photometry. Foundations of Computer Graphics (Spring 2012)

Improved Illumination Estimation for Photon Maps in Architectural Scenes

Photometric Stereo.

CS184 LECTURE RADIOMETRY. Kevin Wu November 10, Material HEAVILY adapted from James O'Brien, Brandon Wang, Fu-Chung Huang, and Aayush Dawra

Bidirectional Path Tracing

Lighting and Reflectance COS 426

Irradiance Gradients. Media & Occlusions

Transcription:

Lecture 12: Photon Mapping CS 6620, Spring 2009 Kavita Bala Computer Science Cornell University MC problems Biased Methods Biased methods: store information (caching) Better type of noise: blurring Greg Ward s Radiance Photon Mapping Radiosity (even) Assumption: common case is diffuse 1

Irradiance Caching Introduced by Greg Ward 1988 Implemented in RADIANCE Public-domain software Exploits smoothness of irradiance Cache and interpolate irradiance estimates Also has error, but the right kind of error Basic Idea Cache directionally invariant irradiance when possible Path reuse When we need irradiance at a new point Compute irradiance estimate using cached samples Where do samples come from? How do we store them? How do we compute the irradiance estimate? When do we use this cache of irradiance values? 2

What information to store? E E = Solid Angle = L( x Ψ) cosθ dωψ π E = TP L( x Ψ) cosθ sinθ dθdφ t p L ( θ, φ ) i t p Compute Li using Monte Carlo Validity of Sample Assign a region where a sample can be reused The radius Larger region where irradiance varies smoothly Smaller region when it varies a lot 3

Distance to surfaces Harmonic mean heuristic Range of sample is given by a radius Ri 1 R = 1 N 1 i d j Where dj is distance to closest surface Why not just average? Storing Samples Question of precisely what to store: Irradiance (Ei) The location (xi) The normal at that location (ni) The distance that we went to find nearby surfaces (Ri) 4

How to compute the irradiance estimate? When new sample requested Query octree for samples near location Check ε at x, x i is a nearby sample r xi x r r εi ( x, n) = + 1 n ni Ri Weight samples inversely proportional to ε i r wi ( x, n) Ei ( xi ) r i, wi > 1/ a E( x, n) = r w ( x, n) i i, w > 1/ a Otherwise, compute new sample i Summary: Irradiance Caching Start with a basic path tracing algorithm, but Store irradiance in octree If hit diffuse surface, build an estimate of irradiance at that point Always compute direct lighting explicitly If estimate is good, use it If not, use path tracing to estimate the irradiance and store it 5

Regexps to classify paths L light source D diffuse reflection G glossy / semi-diffuse reflection S perfect specular reflection E eye Regexps to classify paths Looking directly at a light source L E Seeing a diffuse surface L D E Seeing a diffuse surface reflected in a mirror L D S E 6

Standard stuff: Regexp operators * zero or more + one or more? zero or one or The regexp quiz! All possible paths L (D G S) * E Plain recursive raytracing? L D S * E maybel(d G) S * E Directly rendering radiosity? L D * E 7

Bidirectional path tracing is? L (G D S) * (G D S) * E = L (G D S) * E Light Tracing Some sub-paths are best sampled from the light Where light is focused caustics Where most of the light s energy goes to a small region of the world Several variants 8

Photon Map Build on irradiance caching Use bidirectional ray tracing Caustic: LS+ D E Photon Map 2 passes: shoot photons (light-rays) and record any hit-points shoot viewing rays, collect information from stored photons 9

Pass 1: shoot photons Light path generated using MC techniques and Russian Roulette Store: position incoming direction color... Pass 1: shoot photons Light path generated using MC techniques and Russian Roulette Store: position incoming direction color... 10

Pass 1: shoot photons Light path generated using MC techniques and Russian Roulette Store: position incoming direction color... Pass 1: shoot photons 11

Pass 2: viewing ray (naive) Search for N closest photons Assume these photons hit the point we re interested in Compute estimate Pass 2: viewing ray (better) Search for N closest photons (+check normal) Assume these photons hit the point we re interested in Compute estimate 12

Direct Visualization Does this work? Using photon maps as is create noisy images Need EXTREMELY large amount of photons Filtering techniques can be used with different type of kernels The filtered results often look too blurry!!! Only use photon maps for some paths 13

Indirect Visualization Photon Map Break lighting into several components LDS*E and LS*E paths (direct + specular) LS+DS*E paths (caustic) L(S D)*DDS*E paths (indirect) Use a different technique for each component Note that S*E part is common always start by tracing rays from the eye through specular bounces to a diffuse surface (or a light) 14

Create two maps Global photon map Caustic map Two Photon Maps Global map Low resolution, viewed indirectly Caustic map High resolution, viewed directly Global Photon Map Low resolution 2 Photon Maps Captures low frequency variation in shading Will not be viewed directly Not good enough for caustics and specular 15

Caustic Map High resolution 2 Photon Maps But need a projection map Projection Map Guide photons in directions that are important When does it not work? 16

Pass 2: Direct Illumination LDS*E 17

Pass 2: Specular reflections LS*E Pass 2: Caustics LS*DS*E Direct use of caustic maps The caustic map is similar to a photon map but treats LS*D path Density of photons in caustic map usually high enough to use as is 18

Pass 1: Caustics LS*DS*E Need projection map to compute caustic map Pass 2: Visualize caustic map directly 19

Pass 2:Indirect Diffuse L(S D)*DDS*E Compute estimate by importance sampling of hemisphere For each of them Search for N closest photons Assume these photons hit the point 2 Photon Maps Global map: low resolution, viewed indirectly Caustic map: high resolution, viewed directly Need projection map to compute caustic map 20