Annotated bibliography organized by topic. [[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(Accerlation)]] == 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