Holiday book sale: Save up to 30% on print and eBooks. No promo code needed.
Save up to 30% on print and eBooks.
Physically Based Rendering
From Theory to Implementation
3rd Edition - September 30, 2016
Authors: Matt Pharr, Wenzel Jakob, Greg Humphreys
Hardback ISBN:9780128006450
9 7 8 - 0 - 1 2 - 8 0 0 6 4 5 - 0
eBook ISBN:9780128007099
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 practical… Read more
Purchase options
LIMITED OFFER
Save 50% on book bundles
Immediately download your ebook while waiting for your print delivery. No promo code is needed.
Physically 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.
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
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, Google
WJ
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 Sciences
GH
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.