Acknowledgments |
|
xv | |
Web Materials |
|
xvii | |
|
|
1 | (38) |
|
|
1 Terrain and Ocean Rendering with Hardware Tessellation |
|
|
3 | (12) |
|
|
1.1 DirectX 11 Graphics Pipeline |
|
|
4 | (3) |
|
1.2 Definition of Geometry |
|
|
7 | (3) |
|
1.3 Vertex Position, Vertex Normal, and Texture Coordinates |
|
|
10 | (2) |
|
1.4 Tessellation Correction Depending on the Camera Angle |
|
|
12 | (2) |
|
|
14 | (1) |
|
|
14 | (1) |
|
2 Practical and Realistic Facial Wrinkles Animation |
|
|
15 | (14) |
|
|
|
|
|
|
17 | (1) |
|
|
18 | (5) |
|
|
23 | (2) |
|
|
25 | (1) |
|
|
26 | (1) |
|
|
26 | (3) |
|
|
26 | (3) |
|
3 Procedural Content Generation on the GPU |
|
|
29 | (10) |
|
|
|
|
29 | (1) |
|
|
29 | (1) |
|
3.3 Terrain Generation and Rendering |
|
|
30 | (2) |
|
3.4 Environmental Effects |
|
|
32 | (2) |
|
3.5 Putting It All Together |
|
|
34 | (1) |
|
3.6 Conclusions and Future Work |
|
|
35 | (4) |
|
|
37 | (2) |
|
|
39 | (82) |
|
|
1 Pre-Integrated Skin Shading |
|
|
41 | (16) |
|
|
|
|
41 | (1) |
|
1.2 Background and Previous Work |
|
|
42 | (1) |
|
1.3 Pre-Integrating the Effects of Scattering |
|
|
42 | (2) |
|
1.4 Scattering and Diffuse Light |
|
|
44 | (3) |
|
1.5 Scattering and Normal Maps |
|
|
47 | (1) |
|
|
48 | (3) |
|
1.7 Conclusion and Future Work |
|
|
51 | (1) |
|
1.8 Appendix A Lookup Textures |
|
|
52 | (1) |
|
1.9 Appendix B Simplified Skin Shader |
|
|
53 | (4) |
|
|
54 | (3) |
|
2 Implementing Fur Using Deferred Shading |
|
|
57 | (20) |
|
|
|
57 | (2) |
|
|
59 | (2) |
|
|
61 | (7) |
|
2.4 Fur Implementation Details |
|
|
68 | (6) |
|
|
74 | (1) |
|
|
74 | (3) |
|
|
74 | (3) |
|
3 Large-Scale Terrain Rendering for Outdoor Games |
|
|
77 | (18) |
|
|
|
77 | (2) |
|
3.2 Content Creation and Editing |
|
|
79 | (5) |
|
|
84 | (6) |
|
|
90 | (1) |
|
|
91 | (2) |
|
|
93 | (2) |
|
|
93 | (2) |
|
4 Practical Morphological Antialiasing |
|
|
95 | (20) |
|
|
|
|
|
|
|
97 | (1) |
|
|
98 | (2) |
|
4.3 Obtaining Blending Weights |
|
|
100 | (5) |
|
4.4 Blending with the Four-Neighborhood |
|
|
105 | (1) |
|
|
106 | (4) |
|
|
110 | (1) |
|
|
111 | (1) |
|
|
112 | (3) |
|
|
112 | (3) |
|
|
115 | (6) |
|
|
|
115 | (1) |
|
|
115 | (5) |
|
|
120 | (1) |
|
|
120 | (1) |
|
III Global Illumination Effects |
|
|
121 | (84) |
|
|
1 Temporal Screen-Space Ambient Occlusion |
|
|
123 | (20) |
|
|
|
|
|
123 | (1) |
|
|
124 | (2) |
|
|
126 | (1) |
|
|
127 | (7) |
|
|
134 | (3) |
|
|
137 | (3) |
|
1.7 Discussion and Limitations |
|
|
140 | (1) |
|
|
140 | (3) |
|
|
141 | (2) |
|
2 Level-of-Detail and Streaming Optimized Irradiance Normal Mapping |
|
|
143 | (16) |
|
|
|
|
|
143 | (1) |
|
2.2 Calculating Directional Irradiance |
|
|
144 | (2) |
|
|
146 | (3) |
|
|
149 | (6) |
|
|
155 | (1) |
|
|
155 | (2) |
|
2.7 Appendix A Spherical Harmonics Basis Functions without Condon-Shortley Phase |
|
|
157 | (2) |
|
|
157 | (2) |
|
3 Real-Time One-Bounce Indirect Illumination and Shadows using Ray Tracing |
|
|
159 | (14) |
|
|
|
159 | (1) |
|
|
159 | (2) |
|
3.3 Phase 1: Computing Indirect Illumination without Indirect Shadows |
|
|
161 | (4) |
|
3.4 Phase 2: Constructing a 3D Grid of Blockers |
|
|
165 | (3) |
|
3.5 Phase 3: Computing the Blocked Portion of Indirect Light |
|
|
168 | (2) |
|
|
170 | (3) |
|
|
171 | (2) |
|
4 Real-Time Approximation of Light Transport in Translucent Homogenous Media |
|
|
173 | (12) |
|
|
|
|
173 | (1) |
|
4.2 In Search of Translucency |
|
|
174 | (1) |
|
4.3 The Technique: The Way Out is Through |
|
|
175 | (4) |
|
|
179 | (2) |
|
|
181 | (1) |
|
|
182 | (1) |
|
|
183 | (1) |
|
|
183 | (2) |
|
|
183 | (2) |
|
5 Diffuse Global Illumination with Temporally Coherent Light Propagation Volumes |
|
|
185 | (20) |
|
|
|
|
|
185 | (1) |
|
|
186 | (1) |
|
5.3 Algorithm Detail Description |
|
|
187 | (2) |
|
|
189 | (10) |
|
|
199 | (1) |
|
|
200 | (2) |
|
|
202 | (1) |
|
|
203 | (2) |
|
|
203 | (2) |
|
|
205 | (70) |
|
|
1 Variance Shadow Maps Light-Bleeding Reduction Tricks |
|
|
207 | (8) |
|
|
|
207 | (1) |
|
|
207 | (2) |
|
|
209 | (1) |
|
1.4 Solutions to the Problem |
|
|
210 | (3) |
|
|
213 | (1) |
|
|
213 | (2) |
|
|
214 | (1) |
|
2 Fast Soft Shadows via Adaptive Shadow Maps |
|
|
215 | (10) |
|
|
2.1 Percentage-Closer Filtering with Large Kernels |
|
|
215 | (3) |
|
2.2 Application to Adaptive Shadow Maps |
|
|
218 | (3) |
|
2.3 Soft Shadows with Variable Penumbra Size |
|
|
221 | (2) |
|
|
223 | (2) |
|
|
224 | (1) |
|
3 Adaptive Volumetric Shadow Maps |
|
|
225 | (18) |
|
|
|
|
|
|
3.1 Introduction and Previous Approaches |
|
|
225 | (2) |
|
3.2 Algorithm and Implementation |
|
|
227 | (7) |
|
|
234 | (5) |
|
3.4 Conclusions and Future Work |
|
|
239 | (1) |
|
|
240 | (3) |
|
|
241 | (2) |
|
4 Fast Soft Shadows with Temporal Coherence |
|
|
243 | (14) |
|
|
|
|
|
243 | (1) |
|
|
244 | (8) |
|
4.3 Comparison and Results |
|
|
252 | (5) |
|
|
254 | (3) |
|
5 Mipmapped Screen-Space Soft Shadows |
|
|
257 | (18) |
|
|
|
5.1 Introduction and Previous Work |
|
|
257 | (2) |
|
|
259 | (1) |
|
|
260 | (3) |
|
|
263 | (2) |
|
5.5 Mipmap Level Selection |
|
|
265 | (3) |
|
|
268 | (3) |
|
|
271 | (4) |
|
|
272 | (3) |
|
|
275 | (52) |
|
|
1 A Shader-Based eBook Renderer |
|
|
277 | (14) |
|
|
|
277 | (1) |
|
|
278 | (5) |
|
1.3 Enabling Two Pages Side-by-Side |
|
|
283 | (2) |
|
1.4 Improving the Look and Antialiasing Edges |
|
|
285 | (1) |
|
1.5 Direction-Aligned Triangle Strip |
|
|
286 | (1) |
|
1.6 Performance Optimizations and Power Consumption |
|
|
287 | (1) |
|
|
287 | (1) |
|
|
288 | (1) |
|
|
288 | (1) |
|
|
289 | (2) |
|
|
289 | (2) |
|
2 Post-Processing Effects on Mobile Devices |
|
|
291 | (16) |
|
|
|
|
291 | (3) |
|
|
294 | (2) |
|
|
296 | (2) |
|
|
298 | (6) |
|
|
304 | (3) |
|
|
305 | (2) |
|
3 Shader-Based Water Effects |
|
|
307 | (20) |
|
|
|
|
307 | (1) |
|
|
307 | (11) |
|
|
318 | (7) |
|
|
325 | (2) |
|
|
325 | (2) |
|
|
327 | (58) |
|
|
1 Practical, Dynamic Visibility for Games |
|
|
329 | (20) |
|
|
|
|
329 | (1) |
|
|
329 | (1) |
|
|
330 | (3) |
|
|
333 | (1) |
|
|
333 | (7) |
|
|
340 | (2) |
|
|
342 | (3) |
|
|
345 | (1) |
|
|
346 | (3) |
|
|
346 | (3) |
|
2 Shader Amortization using Pixel Quad Message Passing |
|
|
349 | (20) |
|
|
|
349 | (1) |
|
2.2 Background and Related Work |
|
|
349 | (1) |
|
2.3 Pixel Derivatives and Pixel Quads |
|
|
350 | (2) |
|
2.4 Pixel Quad Message Passing |
|
|
352 | (1) |
|
|
353 | (1) |
|
|
354 | (2) |
|
2.7 Cross Bilateral Sampling |
|
|
356 | (1) |
|
2.8 Convolution and Blurring |
|
|
357 | (2) |
|
2.9 Percentage Closer Filtering |
|
|
359 | (6) |
|
|
365 | (1) |
|
2.11 Appendix A: Hardware Support |
|
|
366 | (3) |
|
|
366 | (3) |
|
3 A Rendering Pipeline for Real-Time Crowds |
|
|
369 | (16) |
|
|
|
|
369 | (2) |
|
3.2 Populating the Virtual Environment and Behavior |
|
|
371 | (1) |
|
|
371 | (6) |
|
3.4 Level of Detail Sorting |
|
|
377 | (2) |
|
3.5 Animation and Draw Instanced |
|
|
379 | (1) |
|
|
379 | (3) |
|
3.7 Conclusions and Future Work |
|
|
382 | (1) |
|
|
383 | (2) |
|
|
383 | (2) |
|
|
385 | (88) |
|
|
1 2D Distance Field Generation with the GPU |
|
|
387 | (22) |
|
|
|
388 | (2) |
|
|
390 | (2) |
|
1.3 Horizontal-Vertical Erosion |
|
|
392 | (2) |
|
1.4 Saito-Toriwaki Scanning with OpenCL |
|
|
394 | (8) |
|
1.5 Signed Distance with Two Color Channels |
|
|
402 | (2) |
|
1.6 Distance Field Applications |
|
|
404 | (5) |
|
|
407 | (2) |
|
2 Order-Independent Transparency using Per-Pixel Linked Lists |
|
|
409 | (24) |
|
|
|
409 | (1) |
|
|
409 | (1) |
|
2.3 DirectX 11 Features Requisites |
|
|
410 | (1) |
|
2.4 Head Pointer and Nodes Buffers |
|
|
411 | (2) |
|
2.5 Per-Pixel Linked List Creation |
|
|
413 | (3) |
|
2.6 Per-Pixel Linked Lists Traversal |
|
|
416 | (5) |
|
2.7 Multisampling Antialiasing Support |
|
|
421 | (4) |
|
|
425 | (2) |
|
|
427 | (3) |
|
|
430 | (1) |
|
|
431 | (2) |
|
|
431 | (2) |
|
|
433 | (12) |
|
|
|
|
|
433 | (1) |
|
|
434 | (2) |
|
|
436 | (4) |
|
|
440 | (1) |
|
|
441 | (1) |
|
|
442 | (3) |
|
|
444 | (1) |
|
4 A Fast Poisson Solver for OpenCL using Multigrid Methods |
|
|
445 | (28) |
|
|
|
|
|
445 | (1) |
|
4.2 Poisson Equation and Finite Volume Method |
|
|
446 | (5) |
|
|
451 | (6) |
|
4.4 Multigrid Methods (MG) |
|
|
457 | (3) |
|
4.5 OpenCL Implementation |
|
|
460 | (8) |
|
|
468 | (2) |
|
|
470 | (3) |
|
|
470 | (3) |
Contributors |
|
473 | |