Progressive Photon Mapping Toshiya Hachisuka Henrik Wann Jensen

Slides:



Advertisements
Similar presentations
Bayesian Belief Propagation
Advertisements

Photorealistic Rendering. Ray tracing v. photorealistic rendering What illumination effects are not captured by ray tracing? What illumination effects.
Christian Lauterbach COMP 770, 2/11/2009
Monte Carlo Integration Robert Lin April 20, 2004.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lectures 18, 19: Monte Carlo Integration Ravi Ramamoorthi Acknowledgements.
CSCE 641: Photon Mapping Jinxiang Chai. Outline Rendering equation Photon mapping.
Photon Tracing with Arbitrary Materials Patrick Yau.
Admission to CS 184 Enrollment priorities are 1. CS/EECS majors, 2. CS/EECS minors (this category includes applied math majors) 3. anyone else with a declared.
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.
Time-Dependent Photon Mapping Mike Cammarano Henrik Wann Jensen EGWR ‘02.
Paper by Alexander Keller
Computer Graphics (Spring 2008) COMS 4160, Lecture 22: Global Illumination
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Stochastic Radiosity K. H. Ko School of Mechatronics Gwangju Institute.
Ch 8.1 Numerical Methods: The Euler or Tangent Line Method
Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM.
Photon Mapping (PM), Progressive PM, Stochastic PPM Jiří Vorba.
-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
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Lecture Fall 2001 From S. Zeki, Inner Vision.
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.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Copyright © Cengage Learning. All rights reserved. 2 Limits and Derivatives.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Stochastic Path Tracing Algorithms K. H. Ko School of Mechatronics Gwangju.
Global Illumination (3) Photon Mapping (1). Overview Light Transport Notation Path Tracing Photon Mapping –Photon Tracing –The Photon Map.
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
Distributed Ray Tracing. Can you get this with ray tracing?
Distributed Ray Tracing. Can you get this with ray tracing?
Copyright © Cengage Learning. All rights reserved.
Advanced Computer Graphics
Copyright © Cengage Learning. All rights reserved.
Dependent-Samples t-Test
Real-Time Soft Shadows with Adaptive Light Source Sampling
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
Sampling and Reconstruction of Visual Appearance
Sampling and Reconstruction of Visual Appearance
Reconstruction For Rendering distribution Effect
Distributed Ray Tracing
Robust Shadow Maps for Large Environments
Ray Tracing via Markov Chain Monte-Carlo Method
Metropolis light transport
© University of Wisconsin, CS559 Fall 2004
The Rendering Equation
(c) 2002 University of Wisconsin
Distribution Ray Tracing
Progressive Photon Mapping
Path Tracing (some material from University of Wisconsin)
Solution of Equations by Iteration
Monte Carol Integration
Caustics Ray Tracing CSS522
Distributed Ray Tracing
(c) 2002 University of Wisconsin
Efficient Importance Sampling Techniques for the Photon Map
Monte Carlo I Previous lecture Analytical illumination formula
Monte Carlo Rendering Central theme is sampling:
Foundations of Computer Graphics (Spring 2012)
Distributed Ray Tracing
Metropolis Light Transit
Scalable light field coding using weighted binary images
Distributed Ray Tracing
CSC418 Computer Graphics Raytracing Shadows Global Illumination.
Distributed Ray Tracing
Monte Carlo Path Tracing and Caching Illumination
Path Space Regularization for Robust and Holistic Light Transport
Monte Carlo Integration
Photon Density Estimation using Multiple Importance Sampling
Presentation transcript:

Progressive Photon Mapping Toshiya Hachisuka Henrik Wann Jensen SIGGRAPH ASIA 2009 Stochastic Progressive Photon Mapping Toshiya Hachisuka Henrik Wann Jensen 최인창(Inchang Choi) Hi, I’m inchang choi Today I’m having a presentation about Stochastic progressive photon mapping It was written by Toshiya Hachisuka, and was published in SIGGRAPH ASIA 2009 1

Outline Problem Statement Brief Review Distributed Ray Tracing Brief Review Photon Mapping Progressive Photon Mapping Stochastic Progressive Photon Mapping Derivation of SPPM Shared Radius Shared Accumulated Flux Results Conclusion This is the outline that I’m going to follow. Since stochastic progressive photon mapping is closely related to photonmapping and progressive photon mapping. I’ll also review them briefly.

Distributed Ray Tracing Problem Statement Limitation of Progressive Photon Mapping Restricted to the radiance value of a point Need to the average radiance over a region Anti-aliasing Depth-of-field Motion Blur Glossy surface Effects by Distributed Ray Tracing Before we start, let’s see the problem of progressive photon mapping. Progressive photon mapping can handle caustics and SDS path well, but it is restricted to compute the radiance value of a point. Sometimes we need to take average radiance over a region. This is necessary for anti aliasing, depth-of-field, motion blur, and glossy surface. Those effects are the effects generated by distributed ray tracing.

What is Distributed Ray Tracing? NOT a ray tracing on a Distributed system A ray tracing method Uses Randomly distributed oversampling Then, what is Distributed ray tracing? It is not ray tracing on a distributed system. It is a ray tracing method based on randomly distributed oversampling to reduce aliasing artifacts in rendered images As you can see in this picture, in distributed ray tracing, if the ray is reflected or refracted, distributed rays are generated. So the radiance value at the hit point is the average radiance of distributed ray. These billiard balls shows motion blur effects by distributed ray tracing.

Review: Photon Mapping Two pass algorithm First pass: Photon Tracing ->Create photon maps Second pass: Ray Tracing using the photon maps ->Estimate Radiance based on photon density Caustic map photons Global map photons Use the nearest N photons to estimate L at point x DA = pr2 1. Make the number of photons very large (lim n->∞) Use an Iterative method 2. Reduce the radius r (limt r-> 0) Reduce the radius every iteration

Review: Progressive Photon Mapping Multi-pass algorithm First Pass: Ray Tracing Subsequent Passes: Photon Tracing

Review: Progressive Photon Mapping In each subsequent passes Radius Reduction Flux Correction

Stochastic Progressive Photon Mapping This picture describes the procedure of progressive photon mapping. In the first pass, we trace rays from eye point into the scene, and save hit points. In the subsequent passes, photons are traced from the light into the scene, and we can estimate radiance using photons near a hit point. Now let’s look at how stochastic progressive photon mapping works. The first two squares are the same to progresssive photon mapping. The difference is made by the right most square. Using distributed ray tracing, we generate new hits points in a given region.

Stochastic Progressive Photon Mapping PPM SPPM As you saw in the previous slide, Stochastic progressive photon mapping is a simple extension of PPM. So there are few differences between the update equations of two methods. In PPM we compute a radiance value at a point x, but in SPPM we compute an average value of Region S. So, The variable x in PPM become S in SPPM. In function M and Pi, there still remains x. Those x indicates a new point in Region S chosen by distributed ray tracing. In SPPM what we have to look closely is that, the Shared Radius R(s) is used. I’ll explain why we can use R(S) instead R(x) shortly.

Derivation of SPPM First, I describe how to compute the average radiance value using the original progressive radiance estimate. Suppose that we have n sample points over the region S: x1, x2, … , x_n Using motnte carlo integration we can transform the integral into the second line. By definition of L(x,w) we derive the last line. This approach is not scalable for a large n because the progressive radiance estimate needs to keep track of statistics at each sample Moreover, the memory requirement for computing the correct average radiance value is unbounded because n needs to be infinite. The goal of stochastic progressive radiance estimate is to compute the correct average radiance value without storing infinite sets of photon statistics. We need to change tau_i and R_i to be independent on certain point x_k

Derivation of SPPM :Shared Radius We can solve one problem using Shared Radius. We assume that the initial radius R0 is constant within S, and so is alpha. (On the blackboard) # of photon is propotional to L(x) * R(x)^2 Then we can rewrite R(x) in this way. The third line states that the rate of radius reduction is independent of the position x in region S

Derivation of SPPM :Shared Radius Then we can write the average Radiance value in S using R(x0) instead of R(x_k). In addition, they have proved that the dependency on an arbitrary location ~x0 can be further removed by using the shared radius R(S) If you want to know the details, please read the paper.

Derivation of SPPM :Shared Accumulated Flux So far we derived the Radiance estimation on the left side. Although we have eliminated the dependency of radius, but we still require storing tau(x_k,w) at each x to compute the radiance. In the paper they define the radiance estimation L’, In L’, the dependency on a sample x_k is totally removed. They proved that L-L’ becomes zero as # of iteration becomes infinite. So we may use L’ instead of L. L-L’ becomes zero, Which means L = L’

Stochastic Progressive Photon Mapping PPM SPPM

Results The graph in this page shows a numerical validation of SPPM with a 1D function integration. They used 1D functions where the results of integrations over [0; 1] are known, and performed numerical integrations by estimating the average values over S = [0; 1] with SPPM. They used 50,000 photons per pass. As we can see, errors of SPPM are converging to zero as the number of photon tracing passes increases. Table under the graph summarizes the statistics of their experiments. They had experiments with 6 scenes. In all the scenes, each photon pass traced 500,000 photons. For a given scene, they rendered image in fixed time using PPM and SPPM SPPM iterates less number of passes than PPM does for the same time limit. This is because SPPM takes additional distributed ray tracing after each update.

Results These figures show a progressive sequences of renderings for the Cornell box scene. Both PPM and SPPM used the same number of photon passes, SPPM can render less noisy results with a smaller number of photon passes in comparison to PPM. In addition, the RMS errors of SPPM are consistently lower than PPM as shown in the graph.

Results Small images in the left column was rendered by PPM, and the right column rendered by SPPM. The images generated by SPPM shows anti aliasing effects.

Results This image is an example of motion blur. As you can notice the furry bunny image and this image, during the same time, SPPM can include anti-aliasing and motion blur with a constant amount of memory. In contrast, PPM needs an increasing amount of memory in order to increase the number of samples per pixel.

Results BDPT / PPM / SPPM This page shows a rendering with depth-of-field. You may be noticed that the scene is dominated by SDS paths, because all the illumination is due to the desk lamp with a light bulb outside the view, and we observe the scene through a lens to achieve depth-of-field. Although PPM can handle SDS paths, the result is noisy. SPPM renders the same scene with less noise using less memory consumption.

Conclusion SPPM can compute the correct average radiance value over a region. SPPM = PPM + Distributed Ray Tracing Results show that SPPM includes distributed ray tracing effects Depth of field / motion blur / glossy reflection

Thank you for listening Any Questions?