Computer graphics, and rendering in particular, is full of beautiful theory. The theory covers physical concepts, such as light fields and the interaction of light with different materials, and mathematical concepts, such as integral equations and Monte Carlo integration. The great thing about computers is that they allow us to build rendering systems based on the best theory. This book turns the theory of image-making into a practical method for creating images. -from the foreword by Pat Hanrahan, Can USA Professor, Stanford University From movies to video games, computer-rendered images are pervasive today. Physically Based Rendering introduces the concepts and theory of photorealistic rendering hand in hand with the source code for a sophisticated renderer. By coupling the discussion of rendering algorithms with their implementations, Matt Pharr and Greg Humphreys are able to reveal many of the details and subtleties of these algorithms. But this book goes further; it also describes the design strategies involved with building real systems-there is much more to writing a good renderer than stringing together a set of fast algorithms.For example, techniques for high-quality antialiasing must be considered from the start, as they have implications throughout the system. The rendering system described in this book is itself highly readable, written in a style called literate programming that mixes text describing the system with the code that implements it. Literate programming gives a gentle introduction to working with programs of this size. This lucid pairing of text and code offers the most complete and in-depth book available for understanding, designing, and building physically realistic rendering systems. * Winner of an Horable Mention in the Computer and Information Science category from The Professional and Scholarly Publishing Division (PSP) of the Association of American Publishers (AAP) * Finalist for the 15th Annual Jolt Awards * Companion CD-ROM includes the source code for a complete rendering system for Windows, Mac OS X, and Linux-with many of the features found in high-quality commercial systems. * The system's plug-in architecture makes its basic structure transparent and allows for new features to be added easily.* The rendering system implements a number of newer or difficult-to-implement algorithms and techniques, including subdivision surfaces, Monte Carlo light transport, and volumetric scattering.
Matt Pharr is works as an engineer for Neoptica, a San Francisco start-up, where he works on interactive graphics. Previously, he was a member of the technical staff at NVIDIA and was a co-founder of Exluna, where he developed off-line rendering software and investigated applications of graphics hardware to high-quality rendering. He holds a BS degree from Yale University and a PhD from the Stanford Graphics Laboratory under the supervision of Pat Hanrahan, where he researched both theoretical and systems issues related to rendering and has written a series of SIGGRAPH papers on these topics. Greg Humphreys is an assistant professor of Computer Science at the University of Virginia, where his research focuses on interactive visualization of very large datasets. Greg has a B.S. degree from Princeton University and a Ph.D. in Computer Science from Stanford University under the supervision of Pat Hanrahan. His doctoral dissertation A Stream Processing Approach to Interactive Graphics on Clusters of Workstations showed that it was possible to build scalable interactive graphics systems using only commodity components. His cluster rendering software called Chromium is in widespread use in research and industry labs around the world.