==== 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])