Annotated bibliography organized by topic.
A note for off-campus students: Stanford provides a web proxy server to allow access to restricted access journals and periodicals such as the ACM digital library from off campus machines. Instructions on how to set up this proxy are available at http://sulair.stanford.edu/apcproxy/index.html.
[[Anchor(Books)]]
== Books ==
'''There is one required text for the course:'''
Matt Pharr and Greg Humphreys [[BR]]
''Physically Based Rendering: From Theory to Implementation'' [[BR]]
Morgan-Kaufmann Publishers, 2004 [[BR]]
[http://www.pbrt.org Book web site]
In addition, the following books may be useful in understanding course material and implementing final projects.
Andrew Glassner [[BR]]
''An Introduction to Ray Tracing'' [[BR]]
[http://www.glassner.com/andrew/writing/books/irt.htm Book web site]
This book contains a collection of chapters written by many of the
original inventors of the major ray tracing algorithms. Although somewhat
dated, it is filled with both practical and theoretical information
that not available in other books.
Peter Shirley and Keith Morley [[BR]]
''Realistic Ray Tracing, 2nd Edition'' [[BR]]
A. K. Peters, 2003 [[BR]]
[http://www.cs.utah.edu/~shirley/rrt2errata Errata]
This ray tracing book by Peter Shirley is highly recommended. It covers
much of the material in the class at a very understandable level.
Henrik Wann Jensen [[BR]]
''Realistic Image Synthesis Using Photon Mapping'' [[BR]]
A. K. Peters, 2001 [[BR]]
[http://graphics.ucsd.edu/~henrik/papers/book/ Book web site]
An intermediate level book that describes the best current technique for
global illumination calculations, the photon map.
Philip Dutre, Philippe Bekaert, Kavita Bala [[BR]]
''Advanced Global Illumition'' [[BR]]
[http://www.advancedglobalillumination.com/ Book web site]
Francois Sillion, Claude Puech [[BR]]
''Radiosity and Global Illumination'' [[BR]]
Morgan Kaufmann, 1994 [[BR]]
Another good introduction to physically-based rendering, emphasizing radiosity.
Michael Cohen and John Wallace [[BR]]
''Radiosity and Realistic Image Synthesis'' [[BR]]
Academic Press, 1993 [[BR]]
The book by Cohen and Wallace is the classic introduction to radiosity.
Unfortunately, they concentrate on the finite element method
and do not devote much space to Monte Carlo Ray Tracing.
Andrew Glassner [[BR]]
''Principles of Digital Image Synthesis'' [[BR]]
Morgan Kaufmann, 1995 [[BR]]
An encyclopedic overview of rendering.
Anthony Apodaca and Larry Gritz [[BR]]
''Advanced Renderman: Creating CGI for the Motion Pictures'' [[BR]]
Morgan Kaufmann, 1999 [[BR]]
The best current overview of advanced rendering from a user's point of view.
David Ebert, F. Kenton Musgrave, Darwyn Peachey, Steven Worley, Ken Perlin [[BR]]
''Texturing and Modeling, Third Edition'' [[BR]]
Morgan Kaufmann, 2003 [[BR]]
[http://www.cs.umbc.edu/~ebert/book/book.htmlBook web site]
An excellent overview of procedural modeling and texturing.
Steve Upstill [[BR]]
''The RenderMan Companion: A Programmers Guide to Realistic Computer Graphics'' [[BR]]
Addison-Wesley, 1989 [[BR]]
The standard reference on the RenderMan interface
[[Anchor(Goals)]]
== The Goals of Rendering ==
''Required''
D. Greenberg, A framework for realistic image synthesis,
''CACM'' 42(8), pp. 44-53, Aug. 1999.
([http://www.acm.org/pubs/articles/journals/cacm/1999-42-8/p44-greenberg/p44-greenberg.pdf pdf])
''Optional''
D. Greenberg, K. Torrance, P. Shirley, J. Arvo, J. A. Ferwerda,
S. pattanaik, E. P. F. Lafortune, B. Walter, S. Foo, B. Trimbone,
A framework for realistic rendering,
Proceedings of SIGGRAPH 97 (Los Angelos, CA, August 3-9, 1997).
In ''Computer Graphics'' Proceedings, Annual Conference Series,
1997, ACM SIGGRAPH, pp. 477-494.
([http://www.graphics.cornell.edu/pubs/1997/GTS+97.pdf pdf])
[[Anchor(Basic)]]
== Ray Tracing I: Basic Algorithms ==
''Required''
A. Appel, Some techniques for the machine rendering of solids,
''Proc. of the Spring Joint Computer Conference'',
pp. 37-45, 1968.
R. A. Goldstein, R. Nagel, 3-D visual simulation,
''Simulation'', 16(1), pp. 25-31, Jan. 1971.
T. Whitted, A improved illumination model for shaded display,
''CACM'', 23(6), pp. 343-349, June 1980,
([http://portal.acm.org/citation.cfm?doid=358876.358882 acm]).
''Optional''
E. Haines, Essential ray tracing algorithms,
In Glassner, ''An Introduction to Ray Tracing'', pp. 33-78.
P. Hanrahan, A survey of ray-surface intersection algorithms,
In Glassner, ''An Introduction to Ray Tracing'', pp. 79-120.
T. Moller, B. Trumbore, Fast, minimum storage ray-triangle intersection,
''Journal of Graphics Tools'', 2(1), pp. 21-28, 1997.
([http://www.graphics.cornell.edu/pubs/1997/MT97.pdf pdf]).
Detailed explanation of a very fast ray-triangle intersection algorithm.
P. Hanrahan, Ray-triangle and ray-quadrilateral intersection
in homogeneous coordinates, unpublished manuscript.
([http://www.graphics.stanford.edu/courses/cs348b-05/rayhomo.pdf pdf])
An old technical note that I wrote in 1989 that describes how to
do ray-triangle intersections using Plucker coordinates.
[[Anchor(Acceleration)]]
== Ray Tracing II: Acceleration Techniques ==
''Optional''
J. Arvo, D. Kirk, A survey of ray tracing acceleration structures,
In Glassner, ''An Introduction to Ray Tracing'', pp. 201-262.
J. Arvo, Ray tracing with meta-hierarchies,
In *SIGGRAPH 90 Advanced Topics in Ray Tracing Course Notes*,
1990.
([http://www.cs.caltech.edu/~arvo/papers/MetaHierarchies.ps ps])
The [http://www.cgg.cvut.cz/BES/
Best Efficiency Scheme Homepage].
Comparison of many common acceleration data structures,
including grids, hierarchical grids, adaptive grids,
k-d trees, and oct-trees. A technical paper describing
their results is available from this page.
I. Wald, V. Havran, On building fast kd-trees for ray tracing,
and on doing that in O(N log N),
SCI Technical Report 2006-009,
([http://www.sci.utah.edu/~wald/Publications/webgen/2006/KDTreeTR/download/kdtree.pdf pdf])
A. Reshetov, A. Soupikov, J. Hurley,
Multi-level ray tracing algorithm,
''ACM Transactions on Computer Graphics''
(Proceedings of SIGGRAPH 2005)
24(3), pp. 1176-1185, 2005
([http://portal.acm.org/citation.cfm?id=1073204.1073329 acm])
Introduction to real-time ray tracing,
SIGGRAPH 2005 Course Number 28,
([http://www.openrt.de/Siggraph05/UpdatedCourseNotes/course.php course notes])
Excellent collection of talks describing recent work
[[Anchor(Radiometry)]]
== Radiometry ==
''Required''
P. Hanrahan, Rendering concepts,
In Cohen and Wallace, ''Radiosity and Realistic Image Synthesis'',
pp. 13-40.
''Optional''
R. Barzel, Lighting controls for computer cinematography,
''Journal of Graphics Tools'', 2(1), pp. 1-20, 1997.
([http://www.acm.org/jgt/papers/Barzel97/ jgt html],
[http://www.ronenbarzel.org/papers/lighting.pdf pdf])
Describes the PIXAR `uberlight` shader, as well as
issues in controlling lighting in motion picture production.
J. Palmer,
[http://www.optics.arizona.edu/Palmer/rpfaq/rpfaq.htm Radiometry
and Photometry FAQ]
''References''
R. McCluney, ''Introduction to Radiometry and Photometry'',
Artech House, Norword, MA, 1994.
Modern treatment of radiometry
P. Bouguer, ''Optical Treatise on The Gradation of Light'',
Translated with an introduction and notes by W. Middleton,
University of Toronto Press, 1961.
J. H. Lambert, ''Photometry'',
Translated with an introductory monograph and notes by
D. DiLaura, Illuminating Engineering Society of North America, 2001.
These last two famous books were written in 1760. Many of the
current ideas about radiometry and photometry can be traced to
Bouguer and Lambert. Lambert is famous for Lambert's Law; he also
developed a formula for the irradiance due to a polygonal source.
Bouguer is famous for introducing the idea of estimating radiant
intensity using the relative distance between a light source and
a standard candle.
[[Anchor(LightField)]]
== The Light Field ==
''No Additional Readings''
[[Anchor(MonteCarloI)]]
== Monte Carlo Integration I ==
''Required''
Chapter 2, Fundamentals of Monte Carlo Integration,
State of the Art in Monte Carlo Ray Tracing for Realistic Synthesis,
SIGGRAPH Course 29, 2001.
([http://graphics.stanford.edu/courses/cs348b-05/29cdrom.pdf pdf])
Chapter 3, Direct Lighting via Monte Carlo Integration,
State of the Art in Monte Carlo Ray Tracing for Realistic Synthesis,
SIGGRAPH Course 29, 2001.
''Optional''
E. Veach, Introduction to Monte Carlo Integration,
CS448 Lecture 6 Notes, 1997.
([http://www.graphics.stanford.edu/courses/cs448-97-fall/notes/lect06.ps ps])
E. Veach, Sampling Random Variables,
CS448 Lecture 7 Notes, 1997.
([http://www.graphics.stanford.edu/courses/cs448-97-fall/notes/lect07.ps ps])
Eric Veach gave a mini-course on advanced methods in Monte Carlo Ray
Tracing in this 1997 Special Topics Course in Computer Graphics.
These two lectures, 6 and 7, cover material presented in class.
P. Shirley, ''Realistic ray tracing'', Chapter 11: Monte Carlo Integration,
Chapter 12 Choosing sample points, and Chapter 15 Soft Shadows.
These chapters cover the material presented in lectures. These chapters are
highly recommended.