==== 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.
[[Anchor(Camera)]]
== Cameras and Film ==
''Required''
C. Kolb, D. Mitchell, P. Hanrahan, A realistic camera model for
computer graphics,
Proceedings of SIGGRAPH 95 (Los Angelos, CA,
August 6-11, 1995), In ''Computer Graphics'', Proceedings,
Annual Conference Series, 1995, ACM SIGGRAPH, pp. 317-324.
([http://www.graphics.stanford.edu/papers/camera paper]).
''Background''
B. London and J. Upton, ''Photography'', Fifth Edition,
HarperCollins College Publishers, 1994.
A easy-to-read, extremely well-illustrated introduction to photography.
Widely used in introductory photography courses.
R. Kingslake, ''Optics in Photography'', SPIE Optical Engineering Press,
1992.
A book on the science of photography aimed at the advanced amateur
photographer who wishes to understand more about their equipment.
Kingslake was Director of Optical Design for Eastman Kodak Company.
[[Anchor(MonteCarloII)]]
== Monte Carlo Integration II ==
''Required''
Cook, Carpenter, Porter, Distributed ray tracing,
Proceedings of SIGGRAPH 1984,
([http://portal.acm.org/citation.cfm?doid=800031.808590 acm])
''Optional''
D. Mitchell, Spectrally optimal sampling for distribution ray tracing,
Proceedings of SIGGRAPH 91,
''Computer Graphics'' 25(4), pp. 157-164, 1991.
([http://portal.acm.org/citation.cfm?doid=122718.122736 acm])
M. Lee, R. Redner, S. Uselton,
Statistically optimized sampling for distributed ray tracing,
Proceedings of SIGGRAPH 85,
''Computer Graphics'' 19(3), pp. 61-68, 1985,
([http://portal.acm.org/citation.cfm?doid=325334.325179 acm])
Describes the sequential sampling point of view.
Chapter 4, Stratified Sampling on 2-manifolds,
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])
A very elegant, but advanced, discussion of uniform area sampling on
arbitrary surfaces. Covers methods for stratified sampling.
E. Veach, Variance Reduction I,
CS448 Lecture 8 Notes, 1997.
([http://www.graphics.stanford.edu/courses/cs448-97-fall/notes/lect08.ps ps])
E. Veach, Variance Reduction II,
CS448 Lecture 9 Notes, 1997.
([http://www.graphics.stanford.edu/courses/cs448-97-fall/notes/lect09.ps ps])
E. Veach, Quasi-Monte Carlo,
CS448 Lecture 10 Notes, 1997.
([http://www.graphics.stanford.edu/courses/cs448-97-fall/notes/lect10.ps ps])
[[Anchor(Sampling)]]
== Sampling and Reconstruction ==
''Required''
R. Cook, Stochastic sampling in computer graphics,
''ACM Transactions on Computer Graphics'',
5(1), pp. 51-72, Jan 1986,
([http://portal.acm.org/citation.cfm?doid=7529.8927 acm])
D. Mitchell, Generating antialiased images at low sampling densities,
Proceedings of SIGGRAPH 87,
''Computer Graphics'' 21(3), pp. 65-72, 1987,
([http://portal.acm.org/citation.cfm?doid=37401.37410 acm])
D. Mitchell, A. Netravali, Reconstruction filters for computer graphics,
Proceedings of SIGGRAPH 88,
''Computer Graphics'' 22(4), pp. 221-228, 1988,
([http://portal.acm.org/citation.cfm?doid=54852.378514 acm])
''Optional''
P. Hanrahan, Notes on signal processing for computer graphics,
(unpublished manuscript),
([http://graphics.stanford.edu/courses/cs348b-05/sampling.pdf pdf])
I will review this material during the first part of my lecture.
M. Dippe, E. Wold, Antialiasing through stochastic sampling,
Proceedings of SIGGRAPH 85,
''Computer Graphics'' 19(3), pp. 69-78, 1985.
([http://portal.acm.org/citation.cfm?doid=325334.325182 acm])
A more rigorous discussion of jittered sampling.
T. Duff, Polygon scan conversion by exact convolution,
Proceedings International Conference on Raster Imaging
and Digital Typography, pp. 151-168, Cambridge University Press,
Oct 1989.
Describes an analytical algorithm for convolving polygonal
regions with polynomial filters. Nice comparison with
uniform and nonuniform supersampling techniques.
[[Anchor(Texture)]]
== Texture ==
''No additional readings''
[[Anchor(RenderingEquation)]]
== The Rendering Equation ==
''No additional readings''
[[Anchor(Path)]]
== Path Tracing ==
P. Hanrahan, Solving the rendering equation,
SIGGRAPH 2001 Course 29: Monte Carlo Ray Tracing.
([http://graphics.stanford.edu/courses/cs348b-05/29cdrom.pdf pdf])
M. Fajardo, Monte Carlo ray tracing in action,
SIGGRAPH 2001 Course 29: Monte Carlo Ray Tracing.
([http://graphics.stanford.edu/courses/cs348b-05/29cdrom.pdf pdf])
Slides giving an overview of Arnold, his nice path tracer.
R. Cook, L. Carpenter, T. Porter, Distributed ray tracing.
Proceedings of SIGGRAPH 84,
''Computer Graphics'', 1984.
([http://delivery.acm.org/10.1145/810000/808590/p137-cook.pdf?key1=80859
0&key2=6122820201&coll=portal&dl=ACM&CFID=2476665&CFTOKEN=16459034 acm])
I assigned this paper earlier, but you may want to look at it again.
''Optional''
J. Arvo,
Backward ray tracing,
In Developments in Ray Tracing,
SIGGRAPH `86 Course Notes, August 1986.
([http://www.cs.caltech/~arvo/papers/Backwards.ps ps])
Early description of light ray tracing, originally called "Backward" ray tracing.
E. LaFortune, Y. Willems,
Bi-directional path tracing,
Proceedings of Compugraphics '93, Alvor, Portugal (December '93), pp. 145-153.
([http://www.graphics.cornell.edu/~eric/papers/Alvor.ps.gz ps.gz])
E. Veach, L. Guibas,
Bidirectional estimators for light transport,
Eurographics Rendering Workshop 1994 Proceedings
(Darmstadt, Germany, June 1994), pp. 147-162.
([http://graphics.stanford.edu/papers/bidir/ url])
See also Veach and Guibas's paper on
[http://graphics.stanford.edu/papers/combine/ multiple importance sampling].
[[Anchor(PhotonMap)]]
== Irradiance Caching and Photons Maps ==
G. Ward, F. Rubinstein and R. Clear,
A ray tracing solution for diffuse interreflection,
SIGGRAPH '88, pp. 85-92, 1988.
([http://radsite.lbl.gov/radiance/papers/sg88/paper.html Paper Page])
H. W. Jensen, Global illumination using photon maps,
In ''Rendering Techniques '96'', pp. 21-30, 1996.
([http://graphics.stanford.edu/~henrik/papers/ewr7/ewr7.html Paper Page])
''Optional''
Henrik Wann Jensen,
''Realistic Image Synthesis Using Photon Mapping''
A. K. Peters, 2001.
H. Rushmeier and G. Ward,
Energy preserving non-linear filters,
SIGGRAPH '94, pp. 131-138, 1994.
([http://radsite.lbl.gov/radiance/papers/sg94.2/energy.html Paper Page])
[[Anchor(Volume)]]
== Participating Media and Volume Rendering ==
M. Levoy,
Display of surfaces from volume data,
''IEEE Computer Graphics and Applications'',
Vol. 8, No. 3, May, 1988, pp. 29-37.
([http://ieeexplore.ieee.org/iel1/38/31/00000511.pdf?isNumber=31&prod=JNL&arnumber=511&arSt=29&ared=37&arAuthor=Levoy%2C+M. ieee])
N. Max,
Optical models for direct volume rendering,
''IEEE Transactions on Visualization and Computer Graphics'',
1(2), June 1995, pp. 97 - 108.
([http://www.llnl.gov/graphics/docs/OpticalModelsLong.pdf pdf])
''Optional''
J. Kajiya and B. Von Herzen, Ray tracing volume densities,
''Computer Graphics'', 18(3), July 1984, pp. 165-174.
([http://delivery.acm.org/10.1145/810000/808594/p165-kajiya.pdf?key1=808594&key2=2409311201&coll=portal&dl=ACM&CFID=2528055&CFTOKEN=49319388 acm])
R. Drebin, L. Carpenter, P. Hanrahan,
Volume rendering,
''Computer Graphics'', 18(3), July 1984, pp. 65-74.
([http://portal.acm.org/citation.cfm?doid=54852.378484 acm])
K. Perlin, E. Hoffert, Hypertexture,
''Computer Graphics'' (Proceedings of ACM SIGGRAPH Conference), 23(3), pp. 253-262,
([http://portal.acm.org/citation.cfm?doid=74333.74359 acm])
[[Anchor(ReflectionIII)]]
== Reflection Models III: Anisotropic and Translucent Materials ==
J. Kajiya and T. Kay,
Rendering fur with three dimensional textures,
Computer Graphics, 23(3) pp. 271-280, 1989.
([http://portal.acm.org/citation.cfm?doid=74333.74361 acm])
S. Marschner, H. W. Jensen, M. Cammarano, S. Worley, P. Hanrahan,
Light scattering from human hair fibers,
Proceedings of SIGGRAPH 2003,
([http://graphics.stanford.edu/papers/hair pdf])
H. W. Jensen, S. R. Marschner, M. Levoy, P. Hanrahan,
A practical model for subsurface light transport,
Proceedings of SIGGRAPH 2001,
([http://graphics.stanford.edu/papers/bssrdf pdf])
''Optional''
R. Lu, J. Koenderink, A. Kappers,
Specularities on surfaces with tangential hairs or grooves,
IEEE International Conference on Computer Vision,
pp. 2-7, 1999.
([http://ieeexplore.ieee.org/iel5/6412/17134/00791189.pdf pdf])