Physically Based Rendering

From Theory To Implementation

By

  • Matt Pharr, Lead graphics architect in the Advanced Rendering Technology group at Intel
  • Greg Humphreys, Assistant Professor of Computer Science, University of Virginia and Senior Scientist at Aggregate Knowledge, Inc.

Physically Based Rendering, 2nd Edition describes both the mathematical theory behind a modern photorealistic rendering system as well as its practical implementation. A method - known as 'literate programming'- combines 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, you will learn to design and employ a full-featured rendering system for creating stunning imagery.
View full description

Audience

Professionals working in computer graphics, game development, simulation, and scientific visualization.

 

Book information

  • Published: June 2010
  • Imprint: MORGAN KAUFMANN
  • ISBN: 978-0-12-375079-2

Reviews

Physically Based Rendering is a terrific book. It covers all the marvelous math, fascinating physics, practical software engineering, and clever tricks that are necessary to write a state-of-the-art photorealistic renderer. All of these topics are dealt with in a clear and pedagogical manner without omitting the all-important practical details.
-Per Christensen
Senior Software Developer, RenderMan Products Pixar Animation Studios




Table of Contents

CHAPTER 01. INTRODUCTION
1.1 Literate Programming
1.2 Photorealistic Rendering and the Ray-Tracing Algorithm
1.3 pbrt: System Overview
1.4 How to Proceed through This Book
1.5 Using and Understanding the Code
Further Reading
ExerciseCHAPTER 02. GEOMETRY AND TRANSFORMATIONS
2.1 Coordinate Systems
2.2 Vectors
2.3 Points
2.4 Normals
2.5 Rays
2.6 Three-Dimensional Bounding Boxes
2.7 Transformations
2.8 Applying Transformations
2.9 Animating Transformations
2.10 Differential Geometry
Further Reading
ExercisesCHAPTER 03. SHAPES
3.1 Basic Shape Interface
3.2 Spheres
3.3 Cylinders
3.4 Disks
3.5 Other Quadrics
3.6 Triangles and Meshes
3.7 Subdivision Surfaces
Further Reading
ExercisesCHAPTER 04. PRIMITIVES AND INTERSECTION ACCELERATION
4.1 Primitive Interface and Geometric Primitives
4.2 Aggregates
4.3 Grid Accelerator
4.4 Bounding Volume Hierarchies
4.5 Kd-Tree Accelerator
4.6 Debugging Aggregates
Further Reading
ExercisesCHAPTER 05. COLOR AND RADIOMETRY
5.1 Spectral Representation
5.2 The SampledSpectrum Class
5.3 RGBSpectrum
5.4 Basic Radiometry
5.5 Working with Radiometric Integrals
5.6 Surface Reflection
Further Reading
ExercisesCHAPTER 06. CAMERA MODELS
6.1 Camera Model
6.2 Projective Camera Models
6.3 Environment Camera
Further Reading
ExercisesCHAPTER 07. SAMPLING AND RECONSTRUCTION
7.1 Sampling Theory
7.2 Image Sampling Interface
7.3 Stratified Sampling
7.4 Low-Discrepancy Sampling
7.5 Best-Candidate Sampling Patterns
7.6 Adaptive Sampling
7.7 Image Reconstruction
7.8 Film and the Imaging Pipeline
Further Reading
ExercisesCHAPTER 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 Measured BRDFs
Further Reading
ExercisesCHAPTER 09. MATERIALS
9.1 BSDFs
9.2 Material Interface and Implementations
9.3 Bump Mapping
Further Reading
ExercisesCHAPTER 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
ExercisesCHAPTER 11. VOLUME SCATTERING
11.1 Volume Scattering Processes
11.2 Phase Functions
11.3 Volume Interface and Homogeneous Media
11.4 Varying-Density Volumes
11.5 Volume Aggregates
11.6 The BSSRDF
Further Reading
ExercisesCHAPTER 12. LIGHT SOURCES
12.1 Light Interface
12.2 Point Lights
12.3 Distant Lights
12.4 Area Lights
12.5 Infinite Area Lights
Further Reading
ExercisesCHAPTER 13. MONTE CARLO INTEGRATION I: BASIC CONCEPTS
13.1 Background and Probability Review
13.2 The Monte Carlo Estimator
13.3 Basic Sampling of Random Variables
13.4 Metropolis Sampling
13.4 Transforming between Distributions
13.5 2D Sampling with Multidimensional Transformations
Further Reading
ExercisesCHAPTER 14. MONTE CARLO INTEGRATION II: IMPROVING EFFICIENCY
14.1 Russian Roulette and Splitting
14.2 Careful Sample Placement
14.3 Bias
14.4 Importance Sampling
14.5 Sampling Reflection Functions
14.6 Sampling Light Sources
14.7 Volume Scattering
Further Reading
ExercisesCHAPTER 15. LIGHT TRANSPORT I: SURFACE REFLECTION
15.1 Direct Lighting
15.2 The Light Transport Equation
15.3 Path Tracing
15.4 Instant Global Illumination
15.5 Irradiance Caching
15.6 Particle Tracing and Photon Mapping
15.7 Metropolis Light Transport
Further Reading
ExercisesCHAPTER 16. LIGHT TRANSPORT II: VOLUME RENDERING
16.1 The Equation of Transfer
16.2 Volume Integrator Interface
16.3 Emission-Only Integrator
16.4 Single Scattering Integrator
16.5 Subsurface Scattering
Further Reading