Acknowledgments |
|
xv | |
Web Materials |
|
xvii | |
|
|
1 | (64) |
|
|
1 Per-Pixel Lists for Single Pass A-Buffer |
|
|
3 | (22) |
|
|
|
|
|
3 | (3) |
|
1.2 Linked Lists with Pointers (Lin-Alloc) |
|
|
6 | (5) |
|
1.3 Lists with Open Addressing (Open-Alloc) |
|
|
11 | (3) |
|
1.4 Post-sort and Pre-sort |
|
|
14 | (2) |
|
|
16 | (1) |
|
|
17 | (1) |
|
1.7 Experimental Comparisons |
|
|
18 | (3) |
|
|
21 | (1) |
|
|
22 | (3) |
|
|
22 | (3) |
|
2 Reducing Texture Memory Usage by 2-Channel Color Encoding |
|
|
25 | (10) |
|
|
|
25 | (1) |
|
2.2 Texture Encoding Algorithm |
|
|
25 | (6) |
|
|
31 | (1) |
|
2.4 Encoded Image Quality |
|
|
31 | (2) |
|
|
33 | (2) |
|
|
34 | (1) |
|
3 Particle-Based Simulation of Material Aging |
|
|
35 | (20) |
|
|
|
|
|
35 | (1) |
|
|
36 | (1) |
|
|
37 | (12) |
|
|
49 | (2) |
|
|
51 | (1) |
|
|
52 | (3) |
|
|
53 | (2) |
|
4 Simple Rasterization-Based Liquids |
|
|
55 | (10) |
|
|
|
55 | (1) |
|
|
55 | (1) |
|
|
56 | (1) |
|
|
57 | (2) |
|
|
59 | (1) |
|
|
60 | (1) |
|
|
60 | (1) |
|
|
61 | (2) |
|
|
63 | (2) |
|
|
63 | (2) |
|
|
65 | (154) |
|
|
1 Physically Based Area Lights |
|
|
67 | (34) |
|
|
|
67 | (1) |
|
|
68 | (2) |
|
|
70 | (21) |
|
|
91 | (2) |
|
|
93 | (3) |
|
|
96 | (1) |
|
|
97 | (4) |
|
|
99 | (2) |
|
2 High Performance Outdoor Light Scattering Using Epipolar Sampling |
|
|
101 | (26) |
|
|
|
101 | (1) |
|
|
102 | (1) |
|
|
103 | (1) |
|
2.4 Light Transport Theory |
|
|
103 | (3) |
|
2.5 Computing Scattering Integral |
|
|
106 | (2) |
|
|
108 | (2) |
|
2.7 ID Min/Max Binary Tree Optimization |
|
|
110 | (3) |
|
|
113 | (6) |
|
2.9 Results and Discussion |
|
|
119 | (5) |
|
2.10 Conclusion and Future Work |
|
|
124 | (3) |
|
|
124 | (3) |
|
3 Volumetric Light Effects in Killzone: Shadow Fall |
|
|
127 | (22) |
|
|
|
127 | (1) |
|
|
128 | (4) |
|
3.3 Low-Resolution Rendering |
|
|
132 | (1) |
|
3.4 Dithered Ray Marching |
|
|
133 | (3) |
|
3.5 Controlling the Amount of Scattering |
|
|
136 | (6) |
|
|
142 | (2) |
|
|
144 | (1) |
|
|
145 | (1) |
|
|
146 | (3) |
|
|
146 | (3) |
|
4 Hi-Z Screen-Space Cone-Traced Reflections |
|
|
149 | (44) |
|
|
|
149 | (1) |
|
|
150 | (2) |
|
|
152 | (4) |
|
|
156 | (16) |
|
|
172 | (7) |
|
|
179 | (7) |
|
|
186 | (1) |
|
|
187 | (1) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
189 | (1) |
|
|
190 | (3) |
|
|
190 | (3) |
|
5 TressFX: Advanced Real-Time Hair Rendering |
|
|
193 | (18) |
|
|
|
|
|
|
|
193 | (1) |
|
|
194 | (2) |
|
|
196 | (2) |
|
5.4 Shadows and Approximated Hair Self-Shadowing |
|
|
198 | (2) |
|
|
200 | (1) |
|
|
201 | (3) |
|
5.7 Integration Specifics |
|
|
204 | (2) |
|
|
206 | (5) |
|
|
208 | (3) |
|
|
211 | (8) |
|
|
|
211 | (1) |
|
|
212 | (5) |
|
6.3 Conclusion and Future Work |
|
|
217 | (2) |
|
|
217 | (2) |
|
|
219 | (32) |
|
|
|
221 | (12) |
|
|
|
221 | (1) |
|
|
221 | (1) |
|
|
222 | (4) |
|
|
226 | (1) |
|
|
227 | (1) |
|
1.6 Limitations and Future Work |
|
|
228 | (2) |
|
1.7 Screen-Space Grass Source Code |
|
|
230 | (3) |
|
|
232 | (1) |
|
2 Screen-Space Deformable Meshes via CSG with Per-Pixel Linked Lists |
|
|
233 | (8) |
|
|
|
|
233 | (1) |
|
2.2 Mesh Deformation Scenario |
|
|
233 | (1) |
|
|
234 | (5) |
|
|
239 | (1) |
|
|
239 | (1) |
|
|
240 | (1) |
|
|
240 | (1) |
|
3 Bokeh Effects on the SPU |
|
|
241 | (10) |
|
|
|
241 | (1) |
|
3.2 Bokeh Behind the Scenes |
|
|
242 | (2) |
|
3.3 The Sprite-Based Approach |
|
|
244 | (2) |
|
|
246 | (3) |
|
|
249 | (1) |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
251 | (108) |
|
|
1 Realistic Real-Time Skin Rendering on Mobile |
|
|
253 | (10) |
|
|
|
|
253 | (1) |
|
|
253 | (2) |
|
|
255 | (1) |
|
|
256 | (4) |
|
|
260 | (1) |
|
|
261 | (2) |
|
|
262 | (1) |
|
2 Deferred Rendering Techniques on Mobile Devices |
|
|
263 | (12) |
|
|
|
263 | (1) |
|
|
263 | (1) |
|
2.3 Overview of Techniques |
|
|
264 | (6) |
|
|
270 | (2) |
|
2.5 Conclusion and Future Work |
|
|
272 | (3) |
|
|
272 | (3) |
|
3 Bandwidth Efficient Graphics with ARM Mali GPUs |
|
|
275 | (14) |
|
|
|
275 | (1) |
|
3.2 Shader Framebuffer Fetch Extensions |
|
|
275 | (4) |
|
3.3 Shader Pixel Local Storage |
|
|
279 | (4) |
|
3.4 Deferred Shading Example |
|
|
283 | (4) |
|
|
287 | (2) |
|
|
288 | (1) |
|
4 Efficient Morph Target Animation Using OpenGL ES 3.0 |
|
|
289 | (8) |
|
|
|
289 | (1) |
|
|
289 | (1) |
|
|
290 | (1) |
|
|
291 | (4) |
|
|
295 | (1) |
|
|
295 | (2) |
|
|
295 | (2) |
|
5 Tiled Deferred Blending |
|
|
297 | (16) |
|
|
|
297 | (2) |
|
|
299 | (1) |
|
|
300 | (6) |
|
|
306 | (2) |
|
|
308 | (1) |
|
|
309 | (4) |
|
|
310 | (3) |
|
6 Adaptive Scalable Texture Compression |
|
|
313 | (14) |
|
|
|
313 | (1) |
|
|
313 | (1) |
|
|
314 | (2) |
|
|
316 | (1) |
|
|
317 | (1) |
|
|
318 | (5) |
|
|
323 | (2) |
|
|
325 | (1) |
|
|
325 | (2) |
|
|
326 | (1) |
|
7 Optimizing OpenCL Kernels for the ARM Mali-T600 GPUs |
|
|
327 | (32) |
|
|
|
|
327 | (1) |
|
7.2 Overview of the OpenCL Programming Model |
|
|
328 | (1) |
|
7.3 ARM Mali-T600 GPU Series |
|
|
328 | (3) |
|
7.4 Optimizing the Sobel Image Filter |
|
|
331 | (8) |
|
7.5 Optimizing the General Matrix Multiplication |
|
|
339 | (20) |
|
|
357 | (2) |
|
|
359 | (46) |
|
|
|
361 | (14) |
|
|
|
|
|
361 | (1) |
|
1.2 Quaternion Properties Overview |
|
|
361 | (1) |
|
|
362 | (1) |
|
|
362 | (4) |
|
1.5 Generic Transforms and Instancing |
|
|
366 | (2) |
|
|
368 | (3) |
|
|
371 | (1) |
|
|
371 | (2) |
|
|
373 | (1) |
|
|
374 | (1) |
|
|
374 | (1) |
|
|
374 | (1) |
|
2 gITF: Designing an Open-Standard Runtime Asset Format |
|
|
375 | (18) |
|
|
|
|
|
|
375 | (1) |
|
|
375 | (1) |
|
|
376 | (3) |
|
|
379 | (1) |
|
2.5 Integration of Buffer and Buffer View |
|
|
380 | (2) |
|
2.6 Code Flow for Rendering Meshes |
|
|
382 | (1) |
|
2.7 From Materials to Shaders |
|
|
382 | (2) |
|
|
384 | (1) |
|
|
385 | (5) |
|
|
390 | (1) |
|
|
391 | (2) |
|
|
391 | (2) |
|
3 Managing Transformations in Hierarchy |
|
|
393 | (12) |
|
|
|
|
393 | (1) |
|
|
394 | (5) |
|
|
399 | (3) |
|
|
402 | (3) |
|
|
403 | (2) |
|
|
405 | (88) |
|
|
1 Hair Simulation in TressFX |
|
|
407 | (12) |
|
|
|
407 | (1) |
|
|
408 | (1) |
|
|
409 | (1) |
|
|
410 | (1) |
|
|
410 | (2) |
|
|
412 | (1) |
|
|
413 | (1) |
|
|
414 | (2) |
|
|
416 | (3) |
|
|
417 | (2) |
|
2 Object-Order Ray Tracing for Fully Dynamic Scenes |
|
|
419 | (20) |
|
|
|
|
|
419 | (2) |
|
2.2 Object-Order Ray Tracing Using the Ray Grid |
|
|
421 | (1) |
|
|
422 | (2) |
|
|
424 | (10) |
|
|
434 | (2) |
|
|
436 | (3) |
|
|
436 | (3) |
|
|
439 | (12) |
|
|
|
|
|
439 | (1) |
|
|
440 | (3) |
|
3.3 Scalable Grids on the GPU |
|
|
443 | (4) |
|
|
447 | (2) |
|
|
449 | (2) |
|
|
449 | (2) |
|
4 Two-Level Constraint Solver and Pipelined Local Batching for Rigid Body Simulation on GPUs |
|
|
451 | (18) |
|
|
|
451 | (1) |
|
4.2 Rigid Body Simulation |
|
|
452 | (2) |
|
4.3 Two-Level Constraint Solver |
|
|
454 | (2) |
|
|
456 | (3) |
|
4.5 Comparison of Batching Methods |
|
|
459 | (2) |
|
4.6 Results and Discussion |
|
|
461 | (8) |
|
|
467 | (2) |
|
5 Non-separable 2D, 3D, and 4D Filtering with CUDA |
|
|
469 | (24) |
|
|
|
|
469 | (2) |
|
5.2 Non-separable Filters |
|
|
471 | (3) |
|
|
474 | (1) |
|
|
475 | (1) |
|
5.5 Non-separable 2D Convolution |
|
|
475 | (5) |
|
5.6 Non-separable 3D Convolution |
|
|
480 | (1) |
|
5.7 Non-separable 4D Convolution |
|
|
481 | (1) |
|
5.8 Non-separable 3D Convolution, Revisited |
|
|
482 | (1) |
|
|
483 | (3) |
|
|
486 | (7) |
|
|
490 | (3) |
About the Editors |
|
493 | (2) |
About the Contributors |
|
495 | |