Physically based rendering has transformed computer graphics lighting by more accurately simulating materials and lights, allowing digital artists to focus on cinematography rather than the intricacies of rendering. First published in 2004, Physically Based Rendering is both a textbook and a complete source-code implementation that has provided a widely adopted practical roadmap for most physically based shading and lighting systems used in film production.
(Don't miss Kristen Bell and Michael B. Jordan's tribute to physically based rendering.)
Physically Based Rendering, Second Edition describes both the mathematical theory behind a modern photorealistic rendering system as well as its practical implementation. A method known as "literate programming" combines human-readable documentation and source code into a single reference that is specifically designed to aid comprehension. Through the ideas and software in this book, you will learn to design and employ a full-featured rendering system for creating stunning imagery.
This new edition greatly refines its best-selling predecessor by adding sections on parallel rendering and system design; animating transformations; multispectral rendering; blue noise and adaptive sampling patterns and reconstruction; measured BRDFs; instant global illumination, as well as subsurface and multiple-scattering integrators. These updates reflect the current state-of-the-art technology, and along with the lucid pairing of text and code, ensure the book's leading position as a reference text for those working with images, whether it is for film, video, photography, digital design, visualization, or games.
The author team of Matt Pharr, Greg Humphreys, and Pat Hanrahan garnered a 2014 Academy Award for Scientific and Technical Achievement from the Academy of Motion Picture Arts and Sciences based on the knowledge shared in this book. The Academy called the book a "widely adopted practical roadmap for most physically based shading and lighting systems used in film production."
For a preview, you can download both Chapter 7, Sampling and Reconstruction, from the first edition of the book as well as Chapter 4, Primitives and Intersection Acceleration from the second edition.
The implementation of pbrt-v3, the version of the system for the forthcoming third edition of the book is available from github See the README file for information about building this version of the system.
The implementation of pbrt-v2, the version of the system that accompanies the second edition of the book, is available from github. (If you don't want to use git, the latest source code is available as a zip file. In addition to the source code to the system, the distribution also includes exporters from a number of modeling systems and example scenes.
See the page on building pbrt for instructions for how to build pbrt on your system.
The source code to pbrt-v2 is available under the BSD License.
A number of interesting scenes are also available to use with pbrt.
The source code for the version of pbrt that accompanied the first edition of the book (in 2004) is also available from github. It's only useful for historical purposes at this point; the code that shipped with the second edition of the book has numerous improvements.
Depending on your interests, you may find luxrender useful: it's a sophisticated physically-based rendering system, originally forked from pbrt. Its goals include physical correctness, building a strong community of users and developers, and providing good support for exporting scenes from applications like Blender.
The Mitsuba renderer may also be of interest: it is a GPL-licensed physically-based rendering system. It features implementations of a number of state-of-the-art light transport algorithms.