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.
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, and 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
Autorentext
Matt Pharr is a Software Engineer at Google. He previously co-founded Neoptica, which was acquired by Intel, and co-founded Exluna, which was acquired by NVIDIA. He has a B.S. degree from Yale and a Ph.D. from the Stanford Graphics Lab, where he worked under the supervision of Pat Hanrahan.
Inhalt
Geometry and transformations; Primitives & intersection acceleration; Camera models; Sampling and reconstruction; Film and the imaging pipeline; Reflection models; Materials; Texture; Volume scattering; Light sources; Monte Carlo Integration I & II: Improving efficiency; Light Transport I & II: Volume rendering; Summary and conclusion; Appendices, Index