b11030-1
Contents
Preface
b11030-2
1. Introduction
1.1 Definition
1.2 Importance of Shadows
1.3 Difficulty of Computing Shadows
1.4 Overview
1.5 General Information for the Reader
b11030-3
2. Basic Shadow Techniques
2.1 Projection Shadows
2.2 Shadow Mapping
2.3 Shadow Volumes
2.4 Stencil Shadow Volumes
2.5 Transparency
2.6 Summary
b11030-4
3. Shadow-Map Aliasing
3.1 Shadow Mapping as Signal Reconstruction
3.2 Initial Sampling Error—Undersampling
3.3 Resampling Error
b11030-5
4. Shadow-Map Sampling
4.1 Fitting
4.2 Warping
4.3 Global Partitioning
4.4 Adaptive Partitioning
4.5 View-Sample Mapping
4.6 Shadow-Map Reconstruction
4.7 Temporal Reprojection
4.8 Cookbook
b11030-6
5. Filtered Hard Shadows
5.1 Filters and Shadow Maps
5.2 Applications of Filtering
5.3 Precomputing Larger Filter Kernels
5.4 Summary
b11030-7
6. Image-Based Soft-Shadow Methods
6.1 Introduction
6.2 Basics
6.3 A Reference Solution
6.4 Augmenting Hard Shadows with Penumbrae
6.5 Blurring Hard-Shadow-Test Results
6.6 Filtering Planar Occluder Images
6.7 Reconstructing and Back-Projecting Occluders
6.8 Using Multiple Depth Maps
6.9 Summary
b11030-8
7. Geometry-Based Soft-Shadow Methods
7.1 Plausible Shadows by Generating Outer Penumbra
7.2 Inner and Outer Penumbra
7.3 Soft Shadow Volumes
7.4 View-Sample Mapping
7.5 Tradeoffs
7.6 Summary of Soft-Shadow Algorithms
b11030-9
8. Image-Based Transparency
8.1 Deep Shadow Maps
8.2 Approximating the Transmittance Function
8.3 Summary
b11030-10
9. Volumetric Shadows
9.1 Real-Time Single Scattering in Homogeneous Participating Media
9.2 Ray Marching a Shadow Map
9.3 Shadow-Volume–Based Approaches
9.4 Summary
b11030-11
10. Advanced Shadow Topics
10.1 Multicolored Light Sources
10.2 Multisample Antialiasing
10.3 Voxels and Shadows
10.4 Ray-Casting Shadows
10.5 Environmental Lighting
10.6 Precomputed Radiance Transfer
b11030-12
11. Conclusion
11.1 Hard Shadows
11.2 Filtered Hard Shadows
11.3 Soft Shadows
11.4 Advanced Methods
11.5 Welcome Tomorrow
b11030-13
A. Down the Graphics Pipeline
A.1 Rendering
A.2 Per-Fragment Processing—Culling and Blending
A.3 The Framebuffer
A.4 Geometry Representation
A.5 Hardware
b11030-14
B. Brief Guide to Graphics APIs
B.1 Transformation Matrices
B.2 State
B.3 Framebuffer and Render Targets
B.4 Texture Sampling
B.5 Shading Languages
b11030-15
C. A Word on Shading
C.1 Analytical Shading Models
C.2 Approximating Incoming Radiance
b11030-16
D. Fast GPU Filtering Techniques
D.1 Mipmap
D.2 N-Buffer and Multiscale Map
D.3 Summed-Area Table
D.4 Summary
b11030-17
E. More For Less: Deferred Shading and Upsampling
E.1 Deferred Shading
E.2 Upsampling
E.3 Summary
b11030-18
F. Symbols
b11030-19
Bibliography
b11030-20
Index