Muutke küpsiste eelistusi

E-raamat: Physically Based Rendering: From Theory to Implementation

  • Formaat: 1280 pages
  • Sari: The MIT Press
  • Ilmumisaeg: 30-May-2023
  • Kirjastus: MIT Press
  • Keel: eng
  • ISBN-13: 9780262374040
  • Formaat - PDF+DRM
  • Hind: 249,60 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 1280 pages
  • Sari: The MIT Press
  • Ilmumisaeg: 30-May-2023
  • Kirjastus: MIT Press
  • Keel: eng
  • ISBN-13: 9780262374040

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

"Physically Based Rendering, fourth edition, is a computer graphics textbook that takes a physically based approach to image synthesis. It sets the standard for physically based rendering for the field and the industry"--

A comprehensive update of the leading-edge computer graphics textbook that sets the standard for physically-based rendering in the industry and the field, with new material on GPU ray tracing.

Photorealistic computer graphics are ubiquitous in today’s world, widely used in movies and video games as well as product design and architecture. Physically-based approaches to rendering, where an accurate modeling of the physics of light scattering is at the heart of image synthesis, offer both visual realism and predictability.  Now in a comprehensively updated new edition, this best-selling computer graphics textbook sets the standard for physically-based rendering in the industry and the field. 

Physically Based Rendering 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 book’s leading-edge algorithms, software, and ideas—including new material on GPU ray tracing—equip the reader to design and employ a full-featured rendering system capable of creating stunning imagery. This essential text represents the future of real-time graphics. 

  • Detailed and rigorous but accessible approach guides readers all the way from theory to practical software implementation
  • Fourth edition features new chapter on GPU ray tracing essential for game developers
  • The premier reference for professionals learning about and working in the field
  • Won its authors a 2014 Academy Award for Scientific and Technical Achievement 
  • Includes a companion site complete with source code
Preface xvii
Chapter 01 Introduction
1(52)
1.1 Literate Programming
1(4)
1.1.1 Indexing and Cross-Referencing
4(1)
1.2 Photorealistic Rendering and the Ray-Tracing Algorithm
5(11)
1.2.1 Cameras and Film
6(2)
1.2.2 Ray-Object Intersections
8(1)
1.2.3 Light Distribution
9(2)
1.2.4 Visibility
11(1)
1.2.5 Light Scattering at Surfaces
11(2)
1.2.6 Indirect Light Transport
13(2)
1.2.7 Ray Propagation
15(1)
1.3 Pbrt: System Overview
16(20)
1.3.1 Phases of Execution
17(1)
1.3.2 Pbrt's main() Function
18(4)
1.3.3 Integrator Interface
22(2)
1.3.4 ImageTileIntegrator and the Main Rendering Loop
24(4)
1.3.5 RayIntegrator Implementation
28(3)
1.3.6 Random Walk Integrator
31(5)
1.4 How to Proceed through This Book
36(2)
1.4.1 The Exercises
38(1)
1.4.2 Viewing the Images
38(1)
1.4.3 The Online Edition
38(1)
1.5 Using and Understanding the Code
38(6)
1.5.1 Source Code Organization
39(1)
1.5.2 Naming Conventions
39(1)
1.5.3 Pointer or Reference?
39(1)
1.5.4 Abstraction versus Efficiency
40(1)
1.5.5 Pstd
40(1)
1.5.6 Allocators
40(1)
1.5.7 Dynamic Dispatch
41(1)
1.5.8 Code Optimization
42(1)
1.5.9 Debugging and Logging
42(1)
1.5.10 Parallelism and Thread Safety
43(1)
1.5.11 Extending the System
44(1)
1.5.12 Bugs
44(1)
1.6 A Brief History of Physically Based Rendering
44(9)
1.6.1 Research
45(1)
1.6.2 Production
46(2)
Further Reading
48(3)
Exercise
51(2)
Chapter 02 Monte Carlo Integration
53(28)
2.1 Monte Carlo: Basics
54(6)
2.1.1 Background and Probability Review
54(2)
2.1.2 Expected Values
56(1)
2.1.3 The Monte Carlo Estimator
56(2)
2.1.4 Error in Monte Carlo Estimators
58(2)
2.2 Improving Efficiency
60(9)
2.2.1 Stratified Sampling
60(3)
2.2.2 Importance Sampling
63(2)
2.2.3 Multiple Importance Sampling
65(2)
2.2.4 Russian Roulette
67(1)
2.2.5 Splitting
68(1)
2.3 Sampling Using the Inversion Method
69(4)
2.3.1 Discrete Case
69(3)
2.3.2 Continuous Case
72(1)
2.4 Transforming between Distributions
73(8)
2.4.1 Transformation in Multiple Dimensions
74(1)
2.4.2 Sampling with Multidimensional Transformations
75(2)
Further Reading
77(1)
Exercises
78(3)
Chapter 03 Geometry and Transformations
81(64)
3.1 Coordinate Systems
81(2)
3.1.1 Coordinate System Handedness
82(1)
3.2 N-Tuple Base Classes
83(3)
3.3 Vectors
86(6)
3.3.1 Normalization and Vector Length
87(2)
3.3.2 Dot and Cross Product
89(2)
3.3.3 Coordinate System from a Vector
91(1)
3.4 Points
92(1)
3.5 Normals
93(1)
3.6 Rays
94(3)
3.6.1 Ray Differentials
96(1)
3.7 Bounding Boxes
97(6)
3.8 Spherical Geometry
103(15)
3.8.1 Solid Angles
103(1)
3.8.2 Spherical Polygons
104(2)
3.8.3 Spherical Parameterizations
106(8)
3.8.4 Bounding Directions
114(4)
3.9 Transformations
118(11)
3.9.1 Homogeneous Coordinates
119(1)
3.9.2 Transform Class Definition
119(1)
3.9.3 Basic Operations
120(2)
3.9.4 Translations
122(1)
3.9.5 Scaling
123(1)
3.9.6 X, Y, and z Axis Rotations
124(1)
3.9.7 Rotation around an Arbitrary Axis
125(2)
3.9.8 Rotating One Vector to Another
127(1)
3.9.9 The Look-at Transformation
128(1)
3.10 Applying Transformations
129(7)
3.10.1 Points
130(1)
3.10.2 Vectors
130(1)
3.10.3 Normals
131(1)
3.10.4 Rays
131(1)
3.10.5 Bounding Boxes
132(1)
3.10.6 Composition of Transformations
132(1)
3.10.7 Transformations and Coordinate System Handedness
133(1)
3.10.8 Vector Frames
133(2)
3.10.9 Animating Transformations
135(1)
3.11 Interactions
136(9)
3.11.1 Surface Interaction
138(3)
3.11.2 Medium Interaction
141(1)
Further Reading
141(2)
Exercises
143(2)
Chapter 04 Radiometry, Spectra, And Color
145(60)
4.1 Radiometry
146(7)
4.1.1 Basic Quantities
147(3)
4.1.2 Incident and Exitant Radiance Functions
150(2)
4.1.3 Radiometric Spectral Distributions
152(1)
4.1.4 Luminance and Photometry
152(1)
4.2 Working with Radiometric Integrals
153(3)
4.2.1 Integrals over Projected Solid Angle
154(1)
4.2.2 Integrals over Spherical Coordinates
154(1)
4.2.3 Integrals over Area
155(1)
4.3 Surface Reflection
156(4)
4.3.1 The BRDF and the BTDF
157(2)
4.3.2 The BSSRDF
159(1)
4.4 Light Emission
160(5)
4.4.1 Blackbody Emitters
161(2)
4.4.2 Standard Illuminants
163(2)
4.5 Representing Spectral Distributions
165(10)
4.5.1 Spectrum Interface
165(1)
4.5.2 General Spectral Distributions
166(4)
4.5.3 Embedded Spectral Data
170(1)
4.5.4 Sampled Spectral Distributions
170(5)
4.6 Color
175(30)
4.6.1 XYZ Color
176(4)
4.6.2 RGB Color
180(2)
4.6.3 RGB Color Spaces
182(4)
4.6.4 Why Spectral Rendering?
186(1)
4.6.5 Choosing the Number of Wavelength Samples
187(2)
4.6.6 From RGB to Spectra
189(11)
Further Reading
200(3)
Exercises
203(2)
Chapter 05 Cameras and Film
205(56)
5.1 Camera Interface
206(8)
5.1.1 Camera Coordinate Spaces
208(4)
5.1.2 The Camera Base Class
212(2)
5.2 Projective Camera Models
214(14)
5.2.1 Orthographic Camera
216(3)
5.2.2 Perspective Camera
219(4)
5.2.3 The Thin Lens Model and Depth of Field
223(5)
5.3 Spherical Camera
228(2)
5.4 Film and Imaging
230(31)
5.4.1 The Camera Measurement Equation
231(1)
5.4.2 Modeling Sensor Response
232(10)
5.4.3 Filtering Image Samples
242(2)
5.4.4 The Film Interface
244(3)
5.4.5 Common Film Functionality
247(1)
5.4.6 RGBFilm
248(5)
5.4.7 GBufferFilm
253(1)
Further Reading
254(2)
Exercises
256(5)
Chapter 06 SHAPES
261(136)
6.1 Basic Shape Interface
261(8)
6.1.1 Bounding
261(1)
6.1.2 Ray-Bounds Intersections
262(3)
6.1.3 Intersection Tests
265(1)
6.1.4 Intersection Coordinate Spaces
266(1)
6.1.5 Sidedness
267(1)
6.1.6 Area
267(1)
6.1.7 Sampling
267(2)
6.2 Spheres
269(17)
6.2.1 Bounding
272(1)
6.2.2 Intersection Tests
272(7)
6.2.3 Surface Area
279(1)
6.2.4 Sampling
280(6)
6.3 Cylinders
286(5)
6.3.1 Area and Bounding
287(1)
6.3.2 Intersection Tests
288(2)
6.3.3 Sampling
290(1)
6.4 Disks
291(5)
6.4.1 Area and Bounding
293(1)
6.4.2 Intersection Tests
293(2)
6.4.3 Sampling
295(1)
6.5 Triangle Meshes
296(30)
6.5.1 Mesh Representation and Storage
297(4)
6.5.2 Triangle Class
301(2)
6.5.3 Ray-Triangle Intersection
303(10)
*6.5.4 Sampling
313(13)
6.6 Bilinear Patches
326(19)
6.6.1 Intersection Tests
331(7)
6.6.2 Sampling
338(7)
*6.7 Curves
345(12)
6.7.1 Bounding Curves
348(1)
6.7.2 Intersection Tests
349(8)
*6.8 Managing Rounding Error
357(40)
6.8.1 Floating-Point Arithmetic
358(11)
6.8.2 Conservative Ray-Bounds Intersections
369(1)
6.8.3 Accurate Quadratic Discriminants
370(2)
6.8.4 Robust Triangle Intersections
372(1)
6.8.5 Bounding Intersection Point Error
373(7)
6.8.6 Robust Spawned Ray Origins
380(3)
6.8.7 Avoiding Intersections behind Ray Origins
383(3)
6.8.8 Discussion
386(1)
Further Reading
386(4)
Exercises
390(7)
Chapter 07 Primitives And Intersection Acceleration
397(48)
7.1 Primitive Interface and Geometric Primitives
398(7)
7.1.1 Geometric Primitives
398(4)
7.1.2 Object Instancing and Primitives in Motion
402(3)
7.2 Aggregates
405(1)
7.3 Bounding Volume Hierarchies
406(39)
7.3.1 BVH Construction
408(7)
7.3.2 The Surface Area Heuristic
415(5)
7.3.3 Linear Bounding Volume Hierarchies
420(8)
7.3.4 Compact BVH for Traversal
428(2)
7.3.5 Bounding and Intersection Tests
430(4)
Further Reading
434(7)
Exercises
441(4)
Chapter 08 Sampling And Reconstruction
445(90)
8.1 Sampling Theory
445(15)
8.1.1 The Frequency Domain and the Fourier Transform
446(3)
8.1.2 Ideal Sampling and Reconstruction
449(3)
8.1.3 Aliasing
452(2)
8.1.4 Understanding Pixels
454(1)
8.1.5 Sampling and Aliasing in Rendering
455(2)
8.1.6 Spectral Analysis of Sampling Patterns
457(3)
8.2 Sampling and Integration
460(7)
*8.2.1 Fourier Analysis of Variance
460(4)
8.2.2 Low Discrepancy and Quasi Monte Carlo
464(3)
8.3 Sampling Interface
467(4)
8.4 Independent Sampler
471(1)
8.5 Stratified Sampler
472(5)
*8.6 Halton Sampler
477(16)
8.6.1 Hammersley and Halton Points
477(3)
8.6.2 Randomization via Scrambling
480(5)
8.6.3 Halton Sampler Implementation
485(4)
8.6.4 Evaluation
489(4)
*8.7 Sobol Samplers
493(21)
8.7.1 Stratification over Elementary Intervals
495(1)
8.7.2 Randomization and Scrambling
496(2)
8.7.3 Sobol' Sample Generation
498(1)
8.7.4 Global Sobol' Sampler
499(3)
8.7.5 Padded Sobol' Sampler
502(3)
8.7.6 Blue Noise Sobol' Sampler
505(5)
8.7.7 Evaluation
510(4)
8.8 Image Reconstruction
514(21)
8.8.1 Filter Interface
514(3)
8.8.2 FilterSampler
517(1)
8.8.3 Box Filter
518(2)
8.8.4 Triangle Filter
520(1)
8.8.5 Gaussian Filter
521(2)
8.8.6 Mitchell Filter
523(2)
8.8.7 Windowed Sine Filter
525(2)
Further Reading
527(5)
Exercises
532(3)
Chapter 09 Reflection Models
535(98)
9.1 BSDF Representation
537(9)
9.1.1 Geometric Setting and Conventions
537(1)
9.1.2 BxDF Interface
538(3)
9.1.3 Hemispherical Reflectance
541(2)
9.1.4 Delta Distributions in BSDFs
543(1)
9.1.5 BSDFs
543(3)
9.2 Diffuse Reflection
546(2)
9.3 Specular Reflection and Transmission
548(12)
9.3.1 Physical Principles
548(1)
9.3.2 The Index of Refraction
549(1)
9.3.3 The Law of Specular Reflection
550(2)
9.3.4 Snell's Law
552(4)
9.3.5 The Fresnel Equations
556(1)
9.3.6 The Fresnel Equations for Conductors
557(3)
9.4 Conductor BRDF
560(3)
9.5 Dielectric BSDF
563(8)
9.5.1 Thin Dielectric BSDF
566(3)
*9.5.2 Non-Symmetric Scattering and Refraction
569(2)
9.6 Roughness Using Microfacet Theory
571(16)
9.6.1 The Microfacet Distribution
573(2)
9.6.2 The Masking Function
575(3)
9.6.3 The Masking-Shadowing Function
578(1)
9.6.4 Sampling the Distribution of Visible Normals
579(3)
9.6.5 The Torrance--Sparrow Model
582(5)
9.7 Rough Dielectric BSDF
587(46)
*9.8 Measured BSDFs
591(7)
9.8.1 Basic Data Structures
598(1)
9.8.2 Evaluation
599(3)
*9.9 Scattering from Hair
602(1)
9.9.1 Geometry
602(2)
9.9.2 Scattering from Hair
604(3)
9.9.3 Longitudinal Scattering
607(2)
9.9.4 Absorption in Fibers
609(4)
9.9.5 Azimuthal Scattering
613(3)
9.9.6 Scattering Model Evaluation
616(2)
9.9.7 Sampling
618(2)
9.9.8 Hair Absorption Coefficients
620(1)
Further Reading
621(8)
Exercises
629(4)
Chapter 10 Textures And Materials
633(64)
10.1 Texture Sampling and Antialiasing
634(15)
10.1.1 Finding the Texture Sampling Rate
635(7)
10.1.2 Ray Differentials at Medium Transitions
642(1)
*10.1.3 Ray Differentials for Specular Reflection and Transmission
643(4)
10.1.4 Filtering Texture Functions
647(2)
10.2 Texture Coordinate Generation
649(6)
10.2.1 (U, V) Mapping
650(1)
10.2.2 Spherical Mapping
651(2)
10.2.3 Cylindrical Mapping
653(1)
10.2.4 Planar Mapping
654(1)
10.2.5 3D Mapping
654(1)
10.3 Texture Interface and Basic Textures
655(5)
10.3.1 Constant Texture
656(1)
10.3.2 Scale Texture
657(1)
10.3.3 Mix Textures
657(3)
10.4 Image Texture
660(14)
10.4.1 Texture Memory Management
662(1)
10.4.2 Image Texture Evaluation
663(1)
10.4.3 MIP Maps
664(3)
10.4.4 Image Map Filtering
667(7)
10.5 Material Interface and Implementations
674(23)
10.5.1 Material Implementations
678(4)
10.5.2 Finding the BSDF at a Surface
682(2)
10.5.3 Normal Mapping
684(3)
10.5.4 Bump Mapping
687(3)
Further Reading
690(4)
Exercises
694(3)
Chapter 11 Volume Scattering
697(42)
11.1 Volume Scattering Processes
697(7)
11.1.1 Absorption
699(1)
11.1.2 Emission
700(1)
11.1.3 Out Scattering and Attenuation
701(1)
11.1.4 In Scattering
702(2)
11.2 Transmittance
704(5)
11.2.1 Null Scattering
707(2)
11.3 Phase Functions
709(5)
11.3.1 The Henyey--Greenstein Phase Function
711(3)
11.4 Media
714(25)
11.4.1 Medium Interface
717(3)
11.4.2 Homogeneous Medium
720(1)
11.4.3 DDA Majorant Iterator
721(7)
11.4.4 Uniform Grid Medium
728(3)
11.4.5 RGB Grid Medium
731(3)
Further Reading
734(2)
Exercises
736(3)
Chapter 12 Light Sources
739(74)
12.1 Light Interface
740(6)
12.1.1 Photometric Light Specification
744(1)
12.1.2 The LightBase Class
744(2)
12.2 Point Lights
746(11)
12.2.1 Spotlights
748(2)
12.2.2 Texture Projection Lights
750(5)
12.2.3 Goniophotometric Diagram Lights
755(2)
12.3 Distant Lights
757(2)
12.4 Area Lights
759(5)
12.5 Infinite Area Lights
764(16)
12.5.1 Uniform Infinite Lights
765(1)
12.5.2 Image Infinite Lights
766(4)
*12.5.3 Portal Image Infinite Lights
770(10)
12.6 Light Sampling
780(33)
12.6.1 Uniform Light Sampling
782(1)
12.6.2 Power Light Sampler
783(2)
*12.6.3 BVH Light Sampling
785(21)
Further Reading
806(4)
Exercises
810(3)
Chapter 13 Light Transport I: Surface Reflection
813(40)
13.1 The Light Transport Equation
813(8)
13.1.1 Basic Derivation
814(1)
13.1.2 Analytic Solutions to the LTE
815(1)
13.1.3 The Surface Form of the LTE
816(1)
13.1.4 Integral over Paths
817(2)
13.1.5 Delta Distributions in the Integrand
819(1)
13.1.6 Partitioning the Integrand
820(1)
13.2 Path Tracing
821(4)
13.2.1 Overview
822(1)
13.2.2 Path Sampling
822(2)
13.2.3 Incremental Path Construction
824(1)
13.3 A Simple Path Tracer
825(5)
13.4 A Better Path Tracer
830(23)
13.4.1 Path Regularization
841(2)
Further Reading
843(6)
Exercises
849(4)
Chapter 14 Light Transport II: Volume Rendering
853(64)
14.1 The Equation of Transfer
853(14)
14.1.1 Null-Scattering Extension
855(1)
14.1.2 Evaluating the Equation of Transfer
856(1)
14.1.3 Sampling the Majorant Transmittance
857(6)
*14.1.4 Generalized Path Space
863(3)
*14.1.5 Evaluating the Volumetric Path Integral
866(1)
14.2 Volume Scattering Integrators
867(24)
14.2.1 A Simple Volumetric Integrator
867(6)
*14.2.2 Improving the Sampling Techniques
873(4)
*14.2.3 Improved Volumetric Integrator
877(14)
14.3 Scattering from Layered Materials
891(26)
14.3.1 The One-Dimensional Equation of Transfer
892(1)
14.3.2 Layered BxDF
893(15)
14.3.3 Coated Diffuse and Coated Conductor Materials
908(1)
Further Reading
909(5)
Exercises
914(3)
*Chapter 15 Wavefront Rendering On Gpus
917(60)
15.1 Mapping Path Tracing to the GPU
919(9)
15.1.1 Basic GPU Architecture
919(6)
15.1.2 Structuring Rendering Computation
925(1)
15.1.3 System Overview
926(2)
15.2 Implementation Foundations
928(10)
15.2.1 Execution and Memory Space Specification
928(1)
15.2.2 Launching Kernels on the GPU
929(1)
15.2.3 Structure-of-Arrays Layout
930(5)
15.2.4 Work Queues
935(3)
11.3 Path Tracer Implementation
938(39)
15.3.1 Work Launch
940(1)
15.3.2 The Render() Method
941(2)
15.3.3 Generating Camera Rays
943(4)
15.3.4 Loop over Ray Depths
947(2)
15.3.5 Sample Generation
949(2)
15.3.6 Intersection Testing
951(3)
15.3.7 Participating Media
954(1)
15.3.8 Ray-Found Emission
955(4)
15.3.9 Surface Scattering
959(10)
15.3.10 Shadow Rays
969(1)
15.3.11 Updating the Film
970(1)
Further Reading
971(2)
Exercises
973(4)
Chapter 16 Retrospective and the Future
977(16)
16.1 Pbrt over the Years
977(2)
16.2 Design Alternatives
979(5)
16.2.1 Out-of-Core Rendering
979(1)
16.2.2 Preshaded Micropolygon Grids
980(1)
16.2.3 Packet Tracing
981(2)
16.2.4 Interactive and Animation Rendering
983(1)
16.2.5 Specialized Compilation
983(1)
16.3 Emerging Topics
984(8)
16.3.1 Inverse and Differentiable Rendering
984(5)
16.3.2 Machine Learning and Rendering
989(3)
16.4 The Future
992(1)
16.5 Conclusion
992(1)
APPENDIXES
A Sampling Algorithms
993(38)
B Utilities
1031(88)
C Processing The Scene Description
1119(22)
References 1141(42)
Index Of Fragments 1183(18)
Index Of Classes And Their Members 1201(12)
Index Of Miscellaneous Identifiers 1213(2)
Subject Index 1215(30)
Colophon 1245