Introduction |
|
xiii | |
Web Materials |
|
xix | |
1 Fast, Stencil-Based Multiresolution Splatting for Indirect Illumination |
|
1 | (16) |
|
|
|
|
|
1 | (1) |
|
1.2 Quick Review: Instant Radiosity |
|
|
2 | (1) |
|
1.3 Quick Review: Reflective Shadow Maps |
|
|
3 | (1) |
|
1.4 Multiresolution Splatting |
|
|
4 | (4) |
|
1.5 Fast Stencil-Based Multiresolution Splatting |
|
|
8 | (4) |
|
|
12 | (2) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (2) |
2 Screen-Space Directional Occlusion |
|
17 | (16) |
|
|
|
|
17 | (1) |
|
2.2 Screen-Space Ambient Occlusion |
|
|
18 | (2) |
|
2.3 Screen-Space Directional Occlusion |
|
|
20 | (9) |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
31 | (2) |
3 Real-Time Multi-Bounce Ray-Tracing with Geometry Impostors |
|
33 | (14) |
|
|
|
|
33 | (1) |
|
|
34 | (2) |
|
3.3 Intersection Computation with an Environment Distance Impostor |
|
|
36 | (2) |
|
3.4 Ray-Object Intersection Using Distance Impostors |
|
|
38 | (1) |
|
3.5 Ray-Object Intersection Using Height Maps |
|
|
38 | (2) |
|
3.6 Tracing Multiple Refractions within a Single Object |
|
|
40 | (1) |
|
3.7 Multiple Ray Bounces with Object Impostors Only |
|
|
40 | (1) |
|
3.8 Multiple Ray Bounces with Environment Distance Impostors Only |
|
|
40 | (1) |
|
3.9 Combination of Environment and Object Impostors |
|
|
41 | (1) |
|
3.10 Caustics and Shadows |
|
|
42 | (1) |
|
3.11 Example Application: Glass Chess |
|
|
43 | (1) |
|
3.12 Example Application: Alien Pool |
|
|
44 | (1) |
|
|
45 | (1) |
|
|
45 | (2) |
4 Temporal Screen-Space Ambient Occlusion |
|
47 | (20) |
|
|
|
|
|
47 | (1) |
|
|
48 | (2) |
|
|
50 | (1) |
|
|
51 | (7) |
|
|
58 | (3) |
|
|
61 | (3) |
|
4.7 Discussion and Limitations |
|
|
64 | (1) |
|
|
64 | (1) |
|
|
65 | (2) |
5 Level-of-Detail and Streaming Optimized Irradiance Normal Mapping |
|
67 | (16) |
|
|
|
|
|
67 | (1) |
|
5.2 Calculating Directional Irradiance |
|
|
68 | (2) |
|
|
70 | (3) |
|
|
73 | (6) |
|
|
79 | (1) |
|
|
79 | (2) |
|
5.7 Appendix A: Spherical Harmonics Basis Functions without Condon-Shortley Phase |
|
|
81 | (1) |
|
|
81 | (2) |
6 Real-Time One-Bounce Indirect Illumination and Shadows Using Ray Tracing |
|
83 | (14) |
|
|
|
83 | (1) |
|
|
83 | (2) |
|
6.3 Phase 1: Computing Indirect Illumination without Indirect Shadows |
|
|
85 | (4) |
|
6.4 Phase 2: Constructing a 3D Grid of Blockers |
|
|
89 | (3) |
|
6.5 Phase 3: Computing the Blocked Portion of Indirect Light |
|
|
92 | (2) |
|
|
94 | (1) |
|
|
95 | (2) |
7 Real-Time Approximation of Light Transport in Translucent Homogenous Media |
|
97 | (12) |
|
|
|
|
97 | (1) |
|
7.2 In Search of Translucency |
|
|
98 | (1) |
|
7.3 The Technique: The Way out Is Through |
|
|
99 | (4) |
|
|
103 | (2) |
|
|
105 | (1) |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
107 | (1) |
|
|
107 | (2) |
8 Diffuse Global Illumination with Temporally Coherent Light Propagation Volumes |
|
109 | (20) |
|
|
|
|
|
109 | (1) |
|
|
110 | (1) |
|
8.3 Algorithm Detail Description |
|
|
111 | (2) |
|
|
113 | (10) |
|
|
123 | (1) |
|
|
124 | (2) |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
127 | (2) |
9 Ray-Traced Approximate Reflections Using a Grid of Oriented Splats |
|
129 | (10) |
|
|
|
129 | (1) |
|
|
129 | (1) |
|
|
130 | (5) |
|
|
135 | (2) |
|
|
137 | (1) |
|
|
138 | (1) |
10 Screen-Space Bent Cones: A Practical Approach |
|
139 | (18) |
|
|
|
|
|
|
139 | (1) |
|
|
139 | (1) |
|
|
140 | (3) |
|
|
143 | (4) |
|
|
147 | (3) |
|
|
150 | (3) |
|
10.7 Discussion and Conclusion |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
154 | (3) |
11 Physically Based Area Lights |
|
157 | (34) |
|
|
|
157 | (1) |
|
|
158 | (2) |
|
|
160 | (21) |
|
|
181 | (2) |
|
|
183 | (3) |
|
|
186 | (1) |
|
|
187 | (2) |
|
|
189 | (2) |
12 High Performance Outdoor Light Scattering Using Epipolar Sampling |
|
191 | (26) |
|
|
|
191 | (1) |
|
|
192 | (1) |
|
|
193 | (1) |
|
12.4 Light Transport Theory |
|
|
193 | (3) |
|
12.5 Computing Scattering Integral |
|
|
196 | (2) |
|
|
198 | (2) |
|
12.7 1D Min/Max Binary Tree Optimization |
|
|
200 | (3) |
|
|
203 | (6) |
|
12.9 Results and Discussion |
|
|
209 | (5) |
|
12.10 Conclusion and Future Work |
|
|
214 | (1) |
|
|
214 | (3) |
13 Hi-Z Screen-Space Cone-Traced Reflections |
|
217 | (44) |
|
|
|
217 | (1) |
|
|
218 | (2) |
|
|
220 | (4) |
|
|
224 | (16) |
|
|
240 | (7) |
|
|
247 | (7) |
|
|
254 | (1) |
|
|
255 | (1) |
|
|
256 | (1) |
|
|
256 | (1) |
|
|
257 | (1) |
|
|
258 | (1) |
|
|
258 | (3) |
14 TressFX: Advanced Real-Time Hair Rendering |
|
261 | (18) |
|
|
|
|
|
|
|
261 | (1) |
|
|
262 | (2) |
|
|
264 | (2) |
|
14.4 Shadows and Approximated Hair Self-Shadowing |
|
|
266 | (2) |
|
|
268 | (1) |
|
|
269 | (3) |
|
14.7 Integration Specifics |
|
|
272 | (2) |
|
|
274 | (2) |
|
|
276 | (3) |
15 Wire Antialiasing |
|
279 | (8) |
|
|
|
279 | (1) |
|
|
280 | (5) |
|
15.3 Conclusion and Future Work |
|
|
285 | (1) |
|
|
285 | (2) |
16 Real-Time Lighting via Light Linked List |
|
287 | (12) |
|
|
|
287 | (1) |
|
|
287 | (3) |
|
16.3 Populating the Light Linked List |
|
|
290 | (4) |
|
16.4 Accessing the Light Linked List |
|
|
294 | (1) |
|
|
295 | (2) |
|
|
297 | (1) |
|
|
297 | (2) |
17 Deferred Normalized Irradiance Probes |
|
299 | (22) |
|
|
|
|
|
299 | (3) |
|
17.2 Deferred Normalized Irradiance Probes Algorithm |
|
|
302 | (4) |
|
17.3 Tool Side of the Algorithm |
|
|
306 | (5) |
|
17.4 Runtime Details of Algorithm |
|
|
311 | (5) |
|
17.5 Results and Discussion |
|
|
316 | (2) |
|
|
318 | (1) |
|
|
318 | (3) |
18 Volumetric Fog and Lighting |
|
321 | (26) |
|
|
|
321 | (1) |
|
|
322 | (4) |
|
18.3 Volumetric Fog Algorithm |
|
|
326 | (11) |
|
18.4 Results and Discussion |
|
|
337 | (6) |
|
|
343 | (1) |
|
|
343 | (4) |
19 Physically Based Light Probe Generation on GPU |
|
347 | (24) |
|
|
|
347 | (1) |
|
|
348 | (1) |
|
19.3 Generating Light Probes on the GPU |
|
|
349 | (18) |
|
|
367 | (2) |
|
|
369 | (1) |
|
|
369 | (2) |
20 Real-Time Global Illumination Using Slices |
|
371 | (28) |
|
|
|
371 | (1) |
|
|
372 | (1) |
|
20.3 Approximating the Irradiance Due to an Emissive Plane |
|
|
373 | (1) |
|
20.4 Building the Image Pyramid |
|
|
374 | (9) |
|
20.5 Combining Multiple Slices |
|
|
383 | (2) |
|
20.6 Layered Heightfields |
|
|
385 | (2) |
|
|
387 | (6) |
|
20.8 Propagating Irradiance |
|
|
393 | (1) |
|
|
394 | (2) |
|
|
396 | (1) |
|
|
396 | (3) |
21 Clustered Shading: Assigning Lights Using Conservative Rasterization in DirectX 12 |
|
399 | (26) |
|
|
|
|
399 | (1) |
|
21.2 Conservative Rasterization |
|
|
400 | (1) |
|
|
400 | (11) |
|
|
411 | (1) |
|
21.5 Results and Analysis |
|
|
412 | (11) |
|
|
423 | (1) |
|
|
423 | (2) |
22 Fine Pruned Tiled Light Lists |
|
425 | (14) |
|
|
|
425 | (1) |
|
|
425 | (2) |
|
|
427 | (2) |
|
22.4 Implementation Details |
|
|
429 | (3) |
|
|
432 | (2) |
|
|
434 | (1) |
|
|
435 | (1) |
|
|
436 | (1) |
|
|
437 | (2) |
23 Deferred Attribute Interpolation Shading |
|
439 | (14) |
|
|
|
|
439 | (1) |
|
|
440 | (3) |
|
|
443 | (7) |
|
|
450 | (1) |
|
|
451 | (1) |
|
|
452 | (1) |
24 Real-Time Volumetric Cloudscapes |
|
453 | (32) |
|
|
|
453 | (1) |
|
|
454 | (1) |
|
|
454 | (12) |
|
|
466 | (9) |
|
|
475 | (6) |
|
24.6 Conclusion and Future Work |
|
|
481 | (1) |
|
|
482 | (1) |
|
|
482 | (3) |
About the Contributors |
|
485 | |