Limited Offer
Physically Based Rendering
From Theory to Implementation
- 3rd Edition - September 30, 2016
- Authors: Matt Pharr, Wenzel Jakob, Greg Humphreys
- Language: English
- Hardback ISBN:9 7 8 - 0 - 1 2 - 8 0 0 6 4 5 - 0
- eBook ISBN:9 7 8 - 0 - 1 2 - 8 0 0 7 0 9 - 9
Physically Based Rendering: From Theory to Implementation, Third Edition, describes both the mathematical theory behind a modern photorealistic rendering system and its practi… Read more
Purchase options
Institutional subscription on ScienceDirect
Request a sales quotePhysically Based Rendering: From Theory to Implementation, Third Edition, describes both the mathematical theory behind a modern photorealistic rendering system and its practical implementation. Through a method known as 'literate programming', the authors combine human-readable documentation and source code into a single reference that is specifically designed to aid comprehension. The result is a stunning achievement in graphics education.
Through the ideas and software in this book, users will learn to design and employ a fully-featured rendering system for creating stunning imagery. This completely updated and revised edition includes new coverage on ray-tracing hair and curves primitives, numerical precision issues with ray tracing, LBVHs, realistic camera models, the measurement equation, and much more. It is a must-have, full color resource on physically-based rendering.
Through the ideas and software in this book, users will learn to design and employ a fully-featured rendering system for creating stunning imagery. This completely updated and revised edition includes new coverage on ray-tracing hair and curves primitives, numerical precision issues with ray tracing, LBVHs, realistic camera models, the measurement equation, and much more. It is a must-have, full color resource on physically-based rendering.
- Presents up-to-date revisions of the seminal reference on rendering, including new sections on bidirectional path tracing, numerical robustness issues in ray tracing, realistic camera models, and subsurface scattering
- Provides the source code for a complete rendering system allowing readers to get up and running fast
- Includes a unique indexing feature, literate programming, that lists the locations of each function, variable, and method on the page where they are first described
- Serves as an essential resource on physically-based rendering
R&D professionals in computer graphics, digital design, and visualization, and visual effects, Advanced undergraduates and graduate students in rendering/computer graphics courses
- Cover image
- Title page
- Table of Contents
- Copyright
- Dedication
- About the Authors
- Preface
- Audience
- Overview and goals
- Changes between the first and second editions
- Changes between the second and third editions
- Acknowledgments
- About the cover
- Additional reading
- 01: Introduction
- 1.1: Literate programming
- 1.2: Photorealistic rendering and the ray-tracing algorithm
- 1.3: pbrt: System overview
- 1.4: Parallelization of pbrt
- 1.5: How to proceed through this book
- 1.6: Using and understanding the code
- 1.7: A brief history of physically based rendering
- Further reading
- Exercise
- 02: Geometry and Transformations
- 2.2: Vectors
- 2.3: Points
- 2.4: Normals
- 2.5: Rays
- 2.6: Bounding boxes
- 2.7: Transformations
- 2.8: Applying transformations
- 2.9: Animating transformations
- 2.10: Interactions
- Further reading
- Exercises
- 03: Shapes
- 3.1: Basic shape interface
- 3.2: Spheres
- 3.3: Cylinders
- 3.4: Disks
- 3.5: Other quadrics
- 3.6: Triangle meshes
- * 3.7: Curves
- *3.8: Subdivision surfaces
- * 3.9: Managing rounding error
- Further reading
- Exercises
- 04: Primitives and Intersection Acceleration
- 4.1: Primitive interface and geometric primitives
- 4.2: Aggregates
- 4.3: Bounding volume hierarchies
- 4.4: Kd-tree accelerator
- Further reading
- Exercises
- 05: Color and Radiometry
- 5.1: Spectral representation
- 5.2: The sampledSpectrum class
- 5.3: RGBSpectrum implementation
- 5.4: Radiometry
- 5.5: Working with radiometric integrals
- 5.6: Surface reflection
- Further reading
- Exercises
- 06: Camera Models
- 6.1: Camera model
- 6.2: Projective camera models
- 6.3: Environment camera
- *6.4: Realistic cameras
- Further reading
- Exercises
- 07: Sampling and Reconstruction
- 7.1: Sampling theory
- 7.2: Sampling interface
- 7.3: Stratified sampling
- * 7.4: The halton sampler
- ⋆7.5: (0, 2)-Sequence sampler
- ⋆7.6: Maximized minimal distance sampler
- ⋆7.7: Sobol’ sampler
- 7.8: Image reconstruction
- 7.9: Film and the imaging pipeline
- FURTHER READING
- Exercises
- 08: Reflection Models
- 8.1: Basic interface
- 8.2: Specular reflection and transmission
- 8.3: Lambertian reflection
- 8.4: Microfacet models
- 8.5: Fresnel incidence effects
- 8.6: Fourier basis BSDFs
- 8.6.1: Spline interpolation
- Further reading
- Exercises
- 09: Materials
- 9.1: BSDFs
- 9.2: Material interface and implementations
- 9.3: Bump mapping
- Further reading
- Exercises
- 10: Texture
- 10.1: Sampling and antialiasing
- 10.2: Texture coordinate generation
- 10.3: Texture interface and basic textures
- 10.4: Image texture
- 10.5: Solid and procedural texturing
- 10.6: Noise
- Further reading
- Exercises
- 11: Volume Scattering
- 11.1: Volume scattering processes
- 11.2: Phase functions
- 11.3: Media
- 11.4: The bssrdf
- Further reading
- Exercises
- 12: Light Sources
- 12.1: Light emission
- 12.2: Light interface
- 12.3: Point lights
- 12.4: Distant lights
- 12.5: Area lights
- 12.6: Infinite area lights
- Further reading
- Exercises
- 13: Monte Carlo Integration
- 13.1: Background and probability review
- 13.2: The monte carlo estimator
- 13.3: Sampling random variables
- *13.4: Metropolis sampling
- 13.5: Transforming between distributions
- 13.6: 2D Sampling with multidimensional transformations
- 13.7: Russian roulette and splitting
- 13.8: Careful sample placement
- 13.9: Bias
- 13.10: Importance sampling
- Further reading
- Exercises
- 14: Light Transport I: Surface Reflection
- 14.1: Sampling reflection functions
- 14.2: Sampling light sources
- 14.3: Direct lighting
- 14.4: The light transport equation
- 14.5: Path tracing
- Further reading
- Exercises
- 15: Light Transport II: Volume Rendering
- 15.1: The equation of transfer
- 15.2: Sampling volume scattering
- 15.3: Volumetric light transport
- *15.4: Sampling subsurface reflection functions
- *15.5: Subsurface scattering using the diffusion equation
- Further reading
- Exercises
- *16: Light Transport III: Bidirectional Methods
- 16.1: The path-space measurement equation
- 16.2: Stochastic progressive photon mapping
- 16.3: Bidirectional path tracing
- 16.4: Metropolis light transport
- Further reading
- Exercises
- 17: Retrospective and the Future
- 17.1: Design retrospective
- 17.2: Alternative hardware architectures
- 17.3: Conclusion
- A: Utilities
- A.1: Main include file
- A.2: Image file input and output
- A.3: Communicating with the user
- A.4: Memory management
- A.5: Mathematical routines
- A.6: Parallelism
- A.7: Statistics
- Further reading
- Exercises
- B: Scene Description Interface
- B.1: Parameter sets
- B.2: Initialization and rendering options
- B.3: Scene definition
- B.4: Adding new object implementations
- Further reading
- Exercises
- C: Index of Fragments
- D: Index of Classes and their Members
- E: Index of Miscellaneous Identifiers
- References
- Subject Index
- Physically Based Rendering
- From Theory to Implementation
- No. of pages: 1266
- Language: English
- Edition: 3
- Published: September 30, 2016
- Imprint: Morgan Kaufmann
- Hardback ISBN: 9780128006450
- eBook ISBN: 9780128007099
MP
Matt Pharr
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.
Affiliations and expertise
Software Engineer, GoogleWJ
Wenzel Jakob
Wenzel Jakob is an assistant professor at EPFL's School of Computer and Communication Sciences. His research interests revolve around material appearance modeling, rendering algorithms, and the high-dimensional geometry of light paths. Wenzel obtained his Ph.D. at Cornell University under the supervision of Steve Marschner, after which he joined ETH Zürich for postdoctoral studies under the supervision of Olga Sorkine Hornung. Wenzel is also the lead developer of the Mitsuba renderer, a research-oriented rendering system.
Affiliations and expertise
Assistant professor, EPFL'S School of Computer and Communiation SciencesGH
Greg Humphreys
Greg Humphreys is Director of Engineering at FanDuel, having previously worked on the Chrome graphics team at Google and the OptiX GPU raytracing engine at NVIDIA. Before that, he was a professor of Computer Science at the University of Virginia, where he conducted research in both high performance and physically based computer graphics, as well as computer architecture and visualization. Greg has a B.S.E. degree from Princeton, and a Ph.D. in Computer Science from Stanford under the supervision of Pat Hanrahan. When he's not tracing rays, Greg can usually be found playing tournament bridge.
Affiliations and expertise
Director of Engineering, FanDuelRead Physically Based Rendering on ScienceDirect