Presentation is loading. Please wait.

Presentation is loading. Please wait.

Progressive Photon Mapping Toshiya Hachisuka Henrik Wann Jensen

Similar presentations


Presentation on theme: "Progressive Photon Mapping Toshiya Hachisuka Henrik Wann Jensen"— Presentation transcript:

1 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

2 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.

3 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.

4 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.

5 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

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

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

8 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.

9 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.

10 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

11 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

12 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.

13 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’

14 Stochastic Progressive Photon Mapping
PPM SPPM

15 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.

16 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.

17 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.

18 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.

19 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.

20 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

21 Thank you for listening
Any Questions?


Download ppt "Progressive Photon Mapping Toshiya Hachisuka Henrik Wann Jensen"

Similar presentations


Ads by Google