Physically Based Rendering is a terrific book. It covers all the marvelous math, fascinating physics, practical software engineering, and clever tricks that are necessary to write a state-of-the-art photorealistic renderer. All of these topics are dealt with in a clear and pedagogical manner without omitting the all-important practical details.

pbrt is not just a "toy" implementation of a ray tracer, but a general and robust full-scale global illumination renderer. It contains many important optimizations to reduce execution time and memory consumption for complex scenes. Furthermore, pbrt is easy to extend to experiment with other rendering algorithm variations.

This book is not only a textbook for students, but also a useful reference book for practitioners in the field. The second edition has been extended with sections on Metropolis light transport, subsurface scattering, precomputed light transport, and more.

—Per Christensen, Senior Software Developer, RenderMan Products, Pixar Animation Studios

Looking for a job in research or high end rendering? Get your kick-start education and start your own project with this book that comes along with both theory and real examples, meaning real code.

With their second edition, Matt Pharr and Greg Humphreys provide easy access to even the most advanced rendering techniques like Metropolis light transport and quasi-Monte Carlo methods. In addition the framework lets you skip the bootstrap pain of getting data into and out of your renderer.

The holistic approach of literate programming results in a clear logic of an easy-to-read text. If you are serious about graphics, there is no way around this unique and extremely valuable book that is closest to the state of the art.

—Alexander Keller, Chief Scientist, Mental Images

One can buy dozens of books on ray-tracing and physically based rendering, but when you actually sit down to write rendering code yourself, you may suddenly realize those books are only telling you half the story. At every turn you will face design and engineering decisions about everything from data structures to sampling patterns, any one of which can impact system performance drastically. Most people who have worked in the innards of rendering systems have learned this esoterica by hearsay and a lot of trial and error.

Matt Pharr and Greg Humphreys have decided to tell the rest of the story, by publishing and annotating the breadth and depth of a fully-functional physically based renderer, using the literate programming approach. Applying this approach—which interleaves source code and descriptive text—to the construction and documentation of even a simple computer program can be a daunting task, but it's application here is Herculean and quite possibly historic.

In spite of their attention to engineering detail, the authors haven't skimped on their coverage of the theoretical underpinnings of Physically based rendering. Their chapters on sampling theory and material models are among the best in print. However, the inclusion of a working artifact that implements the theory using corresponding notation and structure is an incomparable learning and teaching tool.

—Dan Goldman, Computer Graphics Supervisor for Visual Effects

We have been using early versions of this book and its accompanying source code in our graduate courses and in our research for the past two semesters, and we've been thrilled with them. The book has an excellent blend of the theoretical and practical information needed to build an efficient physically based renderer. Much of the information contained in the book is not available in any other reference book; an example is the description of practical methods for anisotropic filtering. The code that accompanies the book satisfies at least as great a need— It's well written, well commented, and strikes a good balance between performance and extensibility. As a result, we have already adopted the code as the software infrastructure for two different research projects within our group. I enthusiastically recommend that any researcher or practitioner who works on rendering systems buy a copy of this book.

—Bill Mark, Assistant Professor, University of Texas at Austin

Designing and implementing a production-quality ray tracer that is based on the physical principles of light transport is difficult. Writing a book that clearly explains the underlying principles and algorithms, from radiative transfer theory to Loop subdivision and photon mapping, is hard. Combining these explanations with source code using Knuth's literate programming methodology to produce a beautifully-designed, full-featured, and wonderfully extensible rendering system might seem NP-hard, but this book proves that it can be done. Whether you are a computer science student or computer graphics researcher, there is simply no better book on the topic.

—Ian Ashdown, President, byHeart Consultants Limited

A good textbook should inspire, and also inform the reader and allow him or her to go beyond the covers of the book. Matt and Greg have done a yeoman's job of creating a very comprehensive source of knowledge on the topics of global illumination and physically based rendering. The book certainly informs the reader. It does not simplify the material and that is a good thing. Rather, through careful exposition and very useful illustrations it provides several learning aids. There are several chapters on several fundamental topics replete with examples, figures and illustrations. Also, the treatment of various algorithms is simultaneously both comprehensive and in great depth. Most importantly, the book relies on a carefully developed programming environment that allows the reader to experiment. pbrt is easy to use and yet allows for rendition of complex scenes. As a result one can learn the material in a pedagogically sound way and also venture beyond the confines of the text. It is easy to be inspired by the effort. I have used a version of the book and software as a text for an advanced course in computer graphics. Both my students and I found the text very useful.

—Raghu Machiraju, Assistant Professor, Department of Computer Science and Engineering, The Ohio State University