Advanced Modelling, Rendering and Animation

Course Work

Home | Syllabus | Course Work | Assessment

Path Tracing assignment reading list

The following are pretty good suggestions of what to read to get to grips writing a Monte-Carlo path tracer. [8] has more in-depth material on how to perform the direct lighting computations, and [9] is useful if you have a good idea of the overall algorithm but need to look up specific formulas.

Matt Pharr’s suggestions on reading to understand how to write a path tracer (edited):

I think that the best way to approach all this is starting with more recent papers/notes, rather than the originals. With the passage of time comes more clarity/better ways of explaining things and it allows one to get the right foundations down before going back to the papers where it was all being first worked out.

That said, I'd strongly suggest that you start with the course notes from the Advanced Mote Carlo course from SIGGRAPH 2001 [1]. I'd also suggest that you work up to path tracing and bidirectional path tracing by way of first focusing on the so-called direct lighting problem - computing reflected light at a point on a surface with a complex BRDF due to illumination from an area light source - as a way to build up intuition and experience.

That said, from those SIGGRAPH notes, the chapters by Peter Shirley and Jim Arvo on the fundamentals of Monte Carlo integration and techniques for sampling BRDFs and light sources are good to understand as well.

Every hour you spent getting a handle on the basics of Monte Carlo will pay off many times as you go forward, since it will save you a lot of time adding and removing factors of PI and cos(theta) from your implementation until you stumble upon the right formulation.

Peter Shirley et al's paper on sampling area light source is also quite good and worth working through carefully [5].

Having gone through that, read Arvo's write-up of multiple importance sampling in the SIGGRAPH course notes and Chapter 9 of Veach's PhD thesis [6].

Make sure you understand how to apply multiple importance sampling to direct lighting and why it works well.

Then, onward to path tracing which is the same thing as Monte Carlo path tracing. Check out Hanrahan's section in those SIGGRAPH course notes, and Veach's path integral formulation of the rendering equation (in Chapter 8 of his thesis).

The rendering equation is often presented in a form that tempts one to solve it recursively; the path integral way of thinking about what the rendering equation says is a lot more powerful.

Then go back and read Kajiya's paper [3], though keep in mind his terminology and formulation of the rendering equation are different than what is in use today.

If you understand the path integral way of thinking about the rendering equation, basic bidirectional path tracing is a relatively small generalization. Read the corresponding chapter of Veach's thesis as well as Eric Lafortune's papers/PhD thesis [4].

Henrik Wann Jensen's papers on photon mapping [2] are a good way to understand that technique; his recent book also covers the topic. You should also read Greg Ward's papers on irradiance caching [7].



References

[1] James Arvo, Marcos Fajardo, Pat Hanrahan, Henrik W. Jensen, Don P. Mitchell, Matt Pharr, and Peter S. Shirley, State of the Art in Monte Carlo Ray Tracing for Realistic Image Synthesis, 2001.

[2] Henrik W. Jensen, Importance Driven Path Tracing using the Photon Map, Proc.6th Eurographics Workshop on Rendering, 1995, pp. 326-335.

[3] James T. Kajiya, The Rendering Equation, Computer Graphics, 20(4), 1986, pp. 143-150.

[4] Eric P. F. Lafortune, Mathematical Models and Monte Carlo Algorithms for Physically Based Rendering, PhD thesis, Katholieke Universiteit Leuven, February 1996.

[5] Peter Shirley, Changyaw Wang, and Kurt Zimmerman, Monte Carlo Techniques for Direct Lighting Calculations, ACM Transactions on Graphics, 15(1), 1996, pp. 1-36.

[6] Eric Veach, Robust Monte Carlo Methods for Light Transport Simulation, PhD thesis, Stanford University, December 1997

[7] Gregory J. Ward and Paul S. Heckbert, Irradiance Gradients, Proc.3rd Eurographics Workshop on Rendering, May 1992, pp. 85-98.

[8] Changyaw Wang, The Direct Lighting Computation in Global Illumination, Indiana University, February 1994.

[9] Dutre, Philip, Global Illumination Compendium, Katholieke Universiteit Leuven, September 2003.