Physically Based Rendering: From Theory to Implementation [2 ed.] 9780123750792, 0123750792

Physically Based Rendering, Second Edition, describes both the mathematical theory behind a modern photorealistic render

263 72 41MB

English Pages 1167 [1200] Year 2010

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Front Cover......Page 1
Physically Based Rendering: From Theory to Implementation......Page 4
Copyright Page......Page 5
Dedication......Page 6
About the Authors......Page 7
Contents......Page 8
Preface......Page 20
Audience......Page 21
Overview and Goals......Page 22
Changes Since the First Edition......Page 23
Acknowledgments......Page 25
About the Cover......Page 27
Additional Reading......Page 28
1.1 Literate Programming......Page 30
1.2 Photorealistic Rendering and the Ray-Tracing Algorithm......Page 33
1.3 pbrt: System Overview......Page 44
1.4 How to Proceed Through this Book......Page 76
1.5 Using and Understanding the Code......Page 77
Further Reading......Page 79
Exercise......Page 81
2.1 Coordinate Systems......Page 84
2.2 Vectors......Page 86
2.3 Points......Page 92
2.4 Normals......Page 94
2.5 Rays......Page 95
2.6 Three-Dimensional Bounding Boxes......Page 99
2.7 Transformations......Page 103
2.8 Applying Transformations......Page 114
2.9 Animating Transformations......Page 119
2.10 Differential Geometry......Page 130
Further Reading......Page 132
Exercises......Page 133
3.1 Basic Shape Interface......Page 136
3.2 Spheres......Page 142
3.3 Cylinders......Page 153
3.4 Disks......Page 158
3.5 Other Quadrics......Page 162
3.6 Triangles and Meshes......Page 164
3.7 Subdivision Surfaces......Page 177
Exercises......Page 204
Further Reading......Page 203
Chapter Four: Primitives and Intersection Acceleration......Page 212
4.1 Primitive Interface and Geometric Primitives......Page 213
4.2 Aggregates......Page 220
4.3 Grid Accelerator......Page 224
4.4 Bounding Volume Hierarchies......Page 237
4.5 Kd-Tree Accelerator......Page 256
4.6 Debugging Aggregates......Page 274
Further Reading......Page 279
Exercises......Page 284
5.1 Spectral Representation......Page 290
5.2 The SampledSpectrum Class......Page 295
5.3 RGBSpectrum Implementation......Page 308
5.4 Basic Radiometry......Page 310
5.5 Working with Radiometric Integrals......Page 317
5.6 Surface Reflection......Page 322
Further Reading......Page 326
Exercises......Page 327
6.1 Camera Model......Page 330
6.2 Projective Camera Models......Page 334
6.3 Environment Camera......Page 347
Exercises......Page 349
7.1 Sampling Theory......Page 352
7.2 Image Sampling Interface......Page 367
7.3 Stratified Sampling......Page 375
7.4 Low-Discrepancy Sampling......Page 388
7.5 Best-Candidate Sampling Patterns......Page 407
7.6 Adaptive Sampling......Page 414
7.7 Image Reconstruction......Page 418
7.8 Film and The Imaging Pipeline......Page 431
Further Reading......Page 442
Exercises......Page 446
Chapter Eight: Reflection Models......Page 452
8.1 Basic Interface......Page 457
8.2 Specular Reflection and Transmission......Page 461
8.3 Lambertian Reflection......Page 475
8.4 Microfacet Models......Page 476
8.5 Fresnel Incidence Effects......Page 489
8.6 Measured BRDFs......Page 491
Further Reading......Page 499
Exercises......Page 501
9.1 BSDFs......Page 506
9.2 Material Interface and Implementations......Page 512
9.3 Bump Mapping......Page 519
Further Reading......Page 525
Exercises......Page 526
Chapter Ten: Texture......Page 530
10.1 Sampling and Antialiasing......Page 532
10.2 Texture Coordinate Generation......Page 542
10.3 Texture Interface and Basic Textures......Page 548
10.4 Image Texture......Page 552
10.5 Solid and Procedural Texturing......Page 573
10.6 Noise......Page 582
Further Reading......Page 598
Exercises......Page 600
11.1 Volume Scattering Processes......Page 604
11.2 Phase Functions......Page 612
11.3 Volume Interface and Homogeneous Media......Page 616
11.4 Varying-Density Volumes......Page 620
11.5 Volume Aggregates......Page 625
11.6 The BSSRDF......Page 627
Further Reading......Page 629
Exercises......Page 630
Chapter Twelve: Light Sources......Page 634
12.1 Light Interface......Page 635
12.2 Point Lights......Page 638
12.3 Distant Lights......Page 650
12.4 Area Lights......Page 652
12.5 Infinite Area Lights......Page 656
Further Reading......Page 661
Exercises......Page 662
Chapter Thirteen: Monte Carlo Integration I: Basic Concepts......Page 666
13.1 Background and Probability Review......Page 667
13.2 The Monte Carlo Estimator......Page 670
13.3 Basic Sampling of Random Variables......Page 672
13.4 Metropolis Sampling......Page 681
13.5 Transforming Between Distributions......Page 689
13.6 2D Sampling With Multidimensional Transformations......Page 691
Further Reading......Page 703
Exercises......Page 704
Chapter Fourteen: Monte Carlo Integration II: Improving Efficiency......Page 708
14.1 Russian Roulette and Splitting......Page 709
14.2 Careful Sample Placement......Page 711
14.3 Bias......Page 715
14.4 Importance Sampling......Page 717
14.5 Sampling Reflection Functions......Page 722
14.6 Sampling Light Sources......Page 737
14.7 Volume Scattering......Page 759
Further Reading......Page 762
Exercises......Page 763
Chapter Fiveteen: Light Transport I: Surface Reflection......Page 768
15.1 Direct Lighting......Page 770
15.2 The Light Transport Equation......Page 780
15.3 Path Tracing......Page 789
15.4 Instant Global Illumination......Page 801
15.5 Irradiance Caching......Page 813
15.6 Particle Tracing and Photon Mapping......Page 826
15.7 Metropolis Light Transport......Page 862
Further Reading......Page 890
Exercises......Page 894
16.1 The Equation of Transfer......Page 902
16.3 Emission-Only Integrator......Page 905
16.4 Single Scattering Integrator......Page 911
16.5 Subsurface Scattering......Page 914
Further Reading......Page 942
Exercises......Page 945
Chapter Seventeen: Light Transport III: Precomputed Light Transport......Page 954
17.1 Basis Functions: Theory......Page 956
17.2 Spherical Harmonics......Page 961
17.3 Radiance Probes......Page 985
17.4 Precomputed Diffuse Transfer......Page 998
17.5 Precomputed Glossy Transfer......Page 1003
Further Reading......Page 1011
Exercises......Page 1013
18.1 Design Retrospective......Page 1018
18.2 Throughput Processors......Page 1022
18.3 Conclusion......Page 1026
A.1 Main Include File......Page 1028
A.2 Image File Input and Output......Page 1032
A.3 Communicating With the User......Page 1033
A.4 Probes and Statistics......Page 1035
A.5 Memory Management......Page 1038
A.6 Mathematical Routines......Page 1049
A.7 Octrees......Page 1051
A.8 KD-Trees......Page 1056
A.9 Parallelism......Page 1062
Further Reading......Page 1071
Exercises......Page 1072
Appendix B: Scene Description Interface......Page 1074
B.1 Parameter Sets......Page 1076
B.2 Initialization and Rendering Options......Page 1080
B.3 Scene Definition......Page 1087
Further Reading......Page 1102
Exercises......Page 1103
Appendix C: Index of Fragments......Page 1106
Appendix D: Index of Classes and their Members......Page 1120
Appendix E: Index of Miscellaneous Identifiers......Page 1130
References......Page 1134
Index......Page 1172
Physically Based Rendering: From Theory to Implementation......Page 1198
Index of Notation......Page 1199

Physically Based Rendering: From Theory to Implementation [2 ed.]
 9780123750792, 0123750792

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Recommend Papers