Synopses & Reviews
"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, Canon 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 Honorable 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.
Review
"I think this book is great. It's state-of-the-art, and covers the area from soup to nuts and with more depth than any other book I know." —Eric Haines, Autodesk Inc.
Synopsis
Rendering is a crucial component of computer graphics-- the conversion of a description of a 3D scene into an image for display. Algorithms for animation, geometric modeling, and texturing all must feed their results through some sort of rendering process for the results to be visible in an image. Focusing on realistic images, physically based rendering incorporates ideas from a range of disciplines, including physics, biology, psychology, cognitive science, and mathematics. This book presents the algorithms of modern photorealistic rendering and follows step by step the creation of a complete rendering system. As each new rendering concept is introduced it is also shown implemented in code--there is no better way to understand the subtle and complex process of rendering. The code itself is highly readable, written in the literate programming style that mixes text describing the system with the code that implements it. The result is a stunning achievement in graphics education for students, professionals, and researchers.
*CD-ROM with the source code for a complete rendering system for Windows, OS X, & Linux--with many examples of images created by the system throughout the 4 color text
*The code and text are tightly woven together through the technique of literate programming with a unique indexing feature that lists all locations of functions, variables, and methods on the page they are first described
*The most complete guide to understanding, designing, and building a rendering system
Synopsis
stem'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.
Synopsis
the design strategies involved with building real systemsthere 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.
Synopsis
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.
Features
* Finalist for the 15th Annual Jolt Awards in March 2005.
* Companion CD-ROM includes the source code for a complete rendering system for Windows, Mac OS X, and Linuxwith 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.
Synopsis
ny 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.
Synopsis
endering systems.
Features
* Finalist for the 15th Annual Jolt Awards in March 2005.
* Companion CD-ROM includes the source code for a complete rendering system for Windows, Mac OS X, and Linuxwith 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.
Synopsis
ws 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.
About the Author
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.
Assistant Professor of Computer Science, University of Virginia and Senior Scientist at Aggregate Knowledge, Inc.
Table of Contents
Foreword: Pat Hanrahan, Stanford University; Preface; Introduction; Geometry and Transformations; Shapes; Primitives and Intersection Acceleration; Color and Radiometry; Camera Models; Sampling and Reconstruction; Film and the Imaging Pipeline; Reflection Models; Materials; Texture; Volume Scattering; Light Sources; Monte Carlo Integration I: Basic Concepts; Monte Carlo Integration II: Improving Efficiency; Light Transport I: Surface Reflection; Light Transport II: Volume Rendering; Summary and Conclusion; Appendices: A. Utilities; B. Scene Description Interface; C. Input File Format; D. Index of Fragments; E. Index of Classes and Their Members; F. Index of Miscellaneous Identifiers; References; Index; About the CD-ROM; Colophon