Front Cover
Inside Front Cover
Physically Based Rendering: From Theory to Implementation
Copyright
Dedication
About the Authors
Contents
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
CHAPTER 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
CHAPTER 02: GEOMETRY AND TRANSFORMATIONS
2.1 COORDINATE SYSTEMS
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
CHAPTER 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
CHAPTER 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
CHAPTER 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
CHAPTER 06: CAMERA MODELS
6.1 CAMERA MODEL
6.2 PROJECTIVE CAMERA MODELS
6.3 ENVIRONMENT CAMERA
6.4 REALISTIC CAMERAS
FURTHER READING
EXERCISES
CHAPTER 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
CHAPTER 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
FURTHER READING
EXERCISES
CHAPTER 09: MATERIALS
9.1 BSDFs
9.2 MATERIAL INTERFACE AND IMPLEMENTATIONS
9.3 BUMP MAPPING
FURTHER READING
EXERCISES
CHAPTER 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
CHAPTER 11: VOLUME SCATTERING
11.1 VOLUME SCATTERING PROCESSES
11.2 PHASE FUNCTIONS
11.3 MEDIA
11.4 THE BSSRDF
FURTHER READING
EXERCISES
CHAPTER 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
CHAPTER 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
CHAPTER 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
CHAPTER 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
CHAPTER 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
CHAPTER 17: RETROSPECTIVE AND THE FUTURE
17.1 DESIGN RETROSPECTIVE
17.2 ALTERNATIVE HARDWARE ARCHITECTURES
17.3 CONCLUSION
APPENDIXE 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
APPENDIXE 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
APPENDIXE C: INDEX OF FRAGMENTS
APPENDIXE D: INDEX OF CLASSES AND THEIR MEMBERS
APPENDIXE E: INDEX OF MISCELLANEOUS IDENTIFIERS
References
Subject Index
Inside Back Cover
Back Cover