Real-Time Rendering

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Thoroughly updated, this fourth edition focuses on modern techniques used to generate synthetic three-dimensional images in a fraction of a second. With the advent of programmable shaders, a wide variety of new algorithms have arisen and evolved over the past few years. This edition discusses current, practical rendering methods used in games and other applications. It also presents a solid theoretical framework and relevant mathematics for the field of interactive computer graphics, all in an approachable style. New to this edition: new chapter on VR and AR as well as expanded coverage of Visual Appearance, Advanced Shading, Global Illumination, and Curves and Curved Surfaces.

Author(s): T. Akenine-Mòˆller, E. Haines, N. Hoffman, A. Pesce, M. Iwanicki, S. Hillaire
Edition: 4
Publisher: A K Peters/CRC Press
Year: 2018

Language: English
Pages: 1199
City: Boca Raton

Cover
......Page 1
Half title
......Page 2
Title
......Page 4
Copyright
......Page 5
Dedication
......Page 6
Contents......Page 8
Preface......Page 14
Chapter
1 Introduction......Page 22
1.1 Contents Overview......Page 24
1.2 Notation and De nitions......Page 26
Chapter
2 The Graphics Rendering Pipeline......Page 32
2.1 Architecture......Page 33
2.2 The Application Stage......Page 34
2.3 Geometry Processing......Page 35
2.4 Rasterization......Page 42
2.5 Pixel Processing......Page 43
2.6 Through the Pipeline......Page 46
Chapter
3 The Graphics Processing Unit......Page 50
3.1 Data-Parallel Architectures......Page 51
3.2 GPU Pipeline Overview......Page 55
3.3 The Programmable Shader Stage......Page 56
3.4 The Evolution of Programmable Shading and APIs......Page 58
3.5 The Vertex Shader......Page 63
3.6 The Tessellation Stage......Page 65
3.7 The Geometry Shader......Page 68
3.8 The Pixel Shader......Page 70
3.9 The Merging Stage......Page 74
3.10 The Compute Shader......Page 75
Chapter
4 Transforms......Page 78
4.1 Basic Transforms......Page 79
4.2 Special Matrix Transforms and Operations......Page 91
4.3 Quaternions......Page 97
4.4 Vertex Blending......Page 105
4.5 Morphing......Page 108
4.7 Projections......Page 113
5.1 Shading Models......Page 124
5.2 Light Sources......Page 127
5.3 Implementing Shading Models......Page 138
5.4 Aliasing and Antialiasing......Page 151
5.5 Transparency, Alpha, and Compositing......Page 169
5.6 Display Encoding......Page 181
Chapter
6 Texturing......Page 188
6.1 The Texturing Pipeline......Page 190
6.2 Image Texturing......Page 197
6.3 Procedural Texturing......Page 219
6.4 Texture Animation......Page 221
6.5 Material Mapping......Page 222
6.6 Alpha Mapping......Page 223
6.7 Bump Mapping......Page 229
6.8 Parallax Mapping......Page 235
6.9 Textured Lights......Page 242
Chapter
7 Shadows......Page 244
7.1 Planar Shadows......Page 246
7.2 Shadows on Curved Surfaces......Page 250
7.3 Shadow Volumes......Page 251
7.4 Shadow Maps......Page 255
7.5 Percentage-Closer Filtering......Page 268
7.6 Percentage-Closer Soft Shadows......Page 271
7.7 Filtered Shadow Maps......Page 273
7.8 Volumetric Shadow Techniques......Page 278
7.9 Irregular Z-Bu er Shadows......Page 280
7.10 Other Applications......Page 283
8.1 Light Quantities......Page 288
8.2 Scene to Screen......Page 302
9.1 Physics of Light......Page 314
9.2 The Camera......Page 328
9.3 The BRDF......Page 329
9.4 Illumination......Page 336
9.5 Fresnel Re
ectance......Page 337
9.6 Microgeometry......Page 348
9.7 Microfacet Theory......Page 352
9.8 BRDF Models for Surface Re
ection......Page 357
9.9 BRDF Models for Subsurface Scattering......Page 368
9.10 BRDF Models for Cloth......Page 377
9.11 Wave Optics BRDF Models......Page 380
9.12 Layered Materials......Page 384
9.13 Blending and Filtering Materials......Page 386
Chapter
10 Local Illumination......Page 396
10.1 Area Light Sources......Page 398
10.2 Environment Lighting......Page 412
10.3 Spherical and Hemispherical Functions......Page 413
10.4 Environment Mapping......Page 425
10.5 Specular Image-Based Lighting......Page 435
10.6 Irradiance Environment Mapping......Page 445
10.7 Sources of Error......Page 454
11.1 The Rendering Equation......Page 458
11.2 General Global Illumination......Page 462
11.3 Ambient Occlusion......Page 467
11.4 Directional Occlusion......Page 486
11.5 Di use Global Illumination......Page 493
11.6 Specular Global Illumination......Page 518
11.7 Uni ed Approaches......Page 530
12.1 Image Processing......Page 534
12.2 Reprojection Techniques......Page 543
12.3 Lens Flare and Bloom......Page 545
12.4 Depth of Field......Page 548
12.5 Motion Blur......Page 557
13.1 The Rendering Spectrum......Page 566
13.2 Fixed-View E ects......Page 567
13.3 Skyboxes......Page 568
13.4 Light Field Rendering......Page 570
13.5 Sprites and Layers......Page 571
13.6 Billboarding......Page 572
13.7 Displacement Techniques......Page 585
13.8 Particle Systems......Page 588
13.9 Point Rendering......Page 593
13.10 Voxels......Page 599
14.1 Light Scattering Theory......Page 610
14.2 Specialized Volumetric Rendering......Page 621
14.3 General Volumetric Rendering......Page 626
14.4 Sky Rendering......Page 634
14.5 Translucent Surfaces......Page 644
14.6 Subsurface Scattering......Page 653
14.7 Hair and Fur......Page 661
14.8 Uni ed Approaches......Page 669
Chapter
15 Non-Photorealistic Rendering......Page 672
15.1 Toon Shading......Page 673
15.2 Outline Rendering......Page 675
15.3 Stroke Surface Stylization......Page 690
15.4 Lines......Page 694
15.5 Text Rendering......Page 696
Chapter
16 Polygonal Techniques......Page 702
16.1 Sources of Three-Dimensional Data......Page 703
16.2 Tessellation and Triangulation......Page 704
16.3 Consolidation......Page 711
16.4 Triangle Fans, Strips, and Meshes......Page 717
16.5 Simpli cation......Page 727
16.6 Compression and Precision......Page 733
Chapter
17 Curves and Curved Surfaces......Page 738
17.1 Parametric Curves......Page 739
17.2 Parametric Curved Surfaces......Page 755
17.3 Implicit Surfaces......Page 770
17.4 Subdivision Curves......Page 774
17.5 Subdivision Surfaces......Page 777
17.6 Ecient Tessellation......Page 788
Chapter
18 Pipeline Optimization......Page 804
18.1 Pro ling and Debugging Tools......Page 805
18.2 Locating the Bottleneck......Page 807
18.3 Performance Measurements......Page 809
18.4 Optimization......Page 811
18.5 Multiprocessing......Page 826
Chapter
19 Acceleration Algorithms......Page 838
19.1 Spatial Data Structures......Page 839
19.2 Culling Techniques......Page 851
19.3 Backface Culling......Page 852
19.4 View Frustum Culling......Page 856
19.5 Portal Culling......Page 858
19.6 Detail and Small Triangle Culling......Page 860
19.7 Occlusion Culling......Page 861
19.8 Culling Systems......Page 871
19.9 Level of Detail......Page 873
19.10 Rendering Large Scenes......Page 887
Chapter
20 Ecient Shading......Page 902
20.1 Deferred Shading......Page 904
20.2 Decal Rendering......Page 909
20.3 Tiled Shading......Page 913
20.4 Clustered Shading......Page 919
20.5 Deferred Texturing......Page 926
20.6 Object- and Texture-Space Shading......Page 929
Chapter
21 Virtual and Augmented Reality......Page 936
21.1 Equipment and Systems Overview......Page 937
21.2 Physical Elements......Page 940
21.3 APIs and Hardware......Page 945
21.4 Rendering Techniques......Page 953
Chapter
22 Intersection Test Methods......Page 962
22.1 GPU-Accelerated Picking......Page 963
22.2 De nitions and Tools......Page 964
22.3 Bounding Volume Creation......Page 969
22.4 Geometric Probability......Page 974
22.5 Rules of Thumb......Page 975
22.6 Ray/Sphere Intersection......Page 976
22.7 Ray/Box Intersection......Page 980
22.8 Ray/Triangle Intersection......Page 983
22.9 Ray/Polygon Intersection......Page 987
22.10 Plane/Box Intersection......Page 991
22.11 Triangle/Triangle Intersection......Page 993
22.12 Triangle/Box Intersection......Page 995
22.13 Bounding-Volume/Bounding-Volume Intersection......Page 997
22.14 View Frustum Intersection......Page 1002
22.15 Line/Line Intersection......Page 1008
22.16 Intersection between Three Planes......Page 1011
23.1 Rasterization......Page 1014
23.2 Massive Compute and Scheduling......Page 1023
23.3 Latency and Occupancy......Page 1025
23.4 Memory Architecture and Buses......Page 1027
23.5 Caching and Compression......Page 1028
23.6 Color Bu ering......Page 1030
23.7 Depth Culling, Testing, and Bu ering......Page 1035
23.8 Texturing......Page 1038
23.9 Architecture......Page 1040
23.10 Case Studies......Page 1045
23.11 Ray Tracing Architectures......Page 1060
Chapter
24 The Future......Page 1062
24.1 Everything Else......Page 1063
24.2 You......Page 1067
Bibliography......Page 1072
Index......Page 1176