MATHEMATICS, Sam Martin GPU Color Quantization, Chi Sing Leung, Tze-Vui Ho, and Vi Xiao Visualize Your Shadow Map Techniques, Fan Zhang, Chong Zhao, and Adrian Egli GEOMETRY MANIPULATION, Natalya Tatarchuk As Simple as Possible Tessellation for Interactive Applications, Tamy Boubekeur Rule-Based Geometry Synthesis in Real-Time, Milan Magdics and Gergely Klar GPU-Based NURBS Geometry Evaluation and Rendering, Graham Hemingway Polygonal-Functional Hybrids for Computer Animation and Games, D. Kravtsov, O. Fryazinov, V. Adzhiev, A. Pasko, and P. Comninos RENDERING TECHNIQUES, Wessam Bahnassi Quadtree Displacement Mapping with Height Blending, Michal Drobot NPR Effects Using the Geometry Shader, Pedro Hermosilla and Pere-Pau Vazquez Alpha Blending as a Post-Process, Benjamin Hathaway Virtual Texture Mapping, Matthaus G. Chajdas, Christian Eisenacher, Marc Stamminger, and Sylvain Lefebvre GLOBAL ILLUMINATION, Carsten Dachsbacher Fast, Stencil-Based Multiresolution Splatting for Indirect Illumination, Chris Wyman, Greg Nichols, and Jeremy Shopf Screen-Space Directional Occlusion, Thorsten Grosch and Tobias Ritschel Real-Time Multi-Bounce Ray-Tracing with Geometry Impostors, Peter Dancsik and Laszlo Szecsi IMAGE SPACE, Christopher Oat Anisotropic Kuwahara Filtering on the GPU, Jan Eric Kyprianidis, Henry Kang, and Jiirgen Dollner Edge Anti-Aliasing by Post-Processing, Hugh Malan Environment Mapping with Floyd-Steinberg Halftoning, Laszlo Szirmay-Kalos, Laszlo Szecsi, and Anton Penzov Hierarchical Item Buffers for Granular Occlusion Culling, Thomas Engelhardt and Carsten Dachsbacher Realistic Depth of Field in Postproduction, David Illes and Peter Horvath Real-Time Screen Space Cloud Lighting, Kaori Kubota Screen-Space Subsurface Scattering, Jorge Jimenez and Diego Gutierrez HANDHELD DEVICES, Kristof Beets Migration to OpenGL ES 2.0, Ken Catterall Touchscreen-Based User Interaction, Andrea Bizzotto iPhone 3GS Graphics Development and Optimization Strategies, Andrew Senior Optimizing a 3D UI Engine for Mobile Devices, Hyunwoo Ki SHADOWS, Wolfgang Engel Fast Conventional Shadow Filtering, Holger Gruen Hybrid Min/Max Plane-Based Shadow Maps, Holger Gruen Shadow Mapping for Omnidirectional Light Using Tetrahedron Mapping, Hung-Chien Liao Screen Space Soft Shadows, Jesus Gumbau, Miguel Chover, and Mateu Sbert 3D ENGINE DESIGN, Wolfgang Engel Multi-Fragment Effects on the GPU Using Bucket Sort, Meng-Cheng Huang, Fang Liu, Xue-Hui Liu, and En-Hua Wu Parallelized Light Pre-Pass Rendering with the Cell Broadband Engine, Steven Tovey and Stephen McAuley Porting Code between Direct3D9 and OpenGL 2.0, Wojciech Sterna Practical Thread Rendering for DirectX 9, David Pangerl GAME POSTMORTEMS, Matthias Wloka Stylized Rendering in Spore, Shalin Shodhan and Andrew Willmott Rendering Techniques in Call of Juarez: Bound in Blood, Pawel Rohleder and Maciej Jamrozik Making it Large, Beautiful, Fast, and Consistent: Lessons Learned Developing Just Cause 2, Emil Persson Destructible Volumetric Terrain, Marek Rosa BEYOND PIXELS AND TRIANGLES, Sebastien St-Laurent Parallelized Implementation of Universal Visual Computer, Tze-Yui Ho, Ping-Man Lam, and Chi-Sing Leung Accelerating Virtual Texturing Using CUDA, Charles-Frederik Hollemeersch, Bart Pieters, Peter Lambert, and Rik Van de Walle Efficient Rendering of Highly Detailed Volumetric Scenes with GigaVoxels, Cyril Crassin, Fabrice Neyret, Miguel Sainz, and Elmar Eisemann Spatial Binning on the GPU, Christopher Oat, Joshua Barczak, and Jeremy Shopf Real-Time Interaction between Particles and the Dynamic Mesh on the GPU, Vlad Alexandrov
Author(s): Wolfgang F Engel (ed.)
Publisher: A.K.Peters
Year: 2010
Language: English
Pages: 711
City: Natick, Mass
Tags: Информатика и вычислительная техника;Компьютерная графика;
Contents......Page 5
Acknowledgments......Page 18
Web Materials......Page 19
Part I: Mathematics......Page 20
1.1 Introduction......Page 21
1.2 The Self-Organizing Map......Page 22
1.3 Color Quantization with SOM......Page 24
1.4 Implementation......Page 25
1.5 Results and Discussion......Page 28
1.6 Conclusion......Page 30
Bibliography......Page 31
2.2 Article Overview......Page 32
2.3 Scope of Analysis......Page 33
2.4 Aliasing Revisited......Page 34
2.5 A Representation of Aliasing Errors......Page 36
2.6 Visualization......Page 38
2.7 Mismatch of View Direction and Warping Direction......Page 42
2.9 Supplementary Materials......Page 44
Bibliography......Page 45
Part II: Geometry Manipulation......Page 47
1. As Simple as Possible Tessellation for Interactive Applications......Page 49
1.1 Basic Phong Tessellation Operator......Page 50
1.2 Extension to Quads......Page 52
Bibliography......Page 54
2.1 Introduction......Page 56
2.3 L-systems and the PGI......Page 57
2.4 Model Details and Implementation......Page 59
2.5 Interaction with the Procedural Scene......Page 74
2.6 Results......Page 77
Bibliography......Page 80
3.1 A Bit of NURBS Background......Page 82
3.2 Related Work......Page 86
3.3 NURBS Surface and Curve Evaluation......Page 87
3.4 Trimmed NURBS Surface Evaluation......Page 92
3.5 Results and Conclusion......Page 97
Bibliography......Page 99
4.1 Introduction......Page 101
4.2 Background......Page 102
4.3 Working with FRep Models Using the GPU......Page 108
4.4 Applications......Page 117
4.5 Tools......Page 124
4.6 Limitations......Page 125
4.8 Source Code......Page 126
Bibliography......Page 127
Part III: Rendering Techniques......Page 129
1.1 Overview......Page 131
1.2 Introduction......Page 133
1.3 Overview of Ray-Tracing Algorithms......Page 134
1.4 Quadtree Displacement Mapping......Page 139
1.5 Self-Shadowing......Page 148
1.6 Ambient Occlusion......Page 152
1.7 Surface Blending......Page 153
1.8 General Advice......Page 160
1.9 Conclusion......Page 161
Bibliography......Page 162
2.2 Previous Work......Page 163
2.3 Silhouette Rendering......Page 165
2.4 Pencil Rendering......Page 173
Bibliography......Page 178
3.1 Introduction......Page 180
3.2 The Alternatives......Page 181
3.3 The Source Artwork......Page 182
3.5 The Screen-Space Alpha Mask......Page 183
3.6 Alpha Reference Issues......Page 192
3.8 Conclusion......Page 194
3.9 Demo......Page 195
Bibliography......Page 196
4.2 Virtual Texture Mapping......Page 198
4.3 Implementation Details......Page 202
4.5 Shader Code......Page 206
Bibliography......Page 207
Part IV: Global Illumination......Page 209
1. Fast, Stencil-Based Multiresolution Splatting for Indirect Illumination......Page 210
1.1 Quick Review: Instant Radiosity......Page 211
1.2 Quick Review: Reflective Shadow Maps......Page 212
1.3 Multiresolution Splatting......Page 213
1.4 Fast Stencil-Based Multiresolution Splatting......Page 217
1.5 Results and Analysis......Page 221
1.7 Demo and Source......Page 223
Bibliography......Page 224
2.1 Introduction......Page 225
2.2 Screen-Space Ambient Occlusion......Page 226
2.3 Screen-Space Directional Occlusion......Page 228
2.4 Interleaved Sampling......Page 237
2.5 Discussion......Page 238
Bibliography......Page 239
3. Real-Time Multi-Bounce Ray-Tracing with Geometry Impostors......Page 241
3.1 Geometry Impostors......Page 242
3.2 Intersection Computation with an Environment Distance Impostor......Page 244
3.4 Ray-Object Intersection Using Height Maps......Page 246
3.7 Multiple Ray Bounces with Environment Distance Impostors Only......Page 248
3.8 Combination of Environment and Object Impostors......Page 249
3.9 Caustics and Shadows......Page 250
3.10 Example Application: Glass Chess......Page 251
3.11 Example Application: Alien Pool......Page 252
Bibliography......Page 253
Part V: Image Space......Page 255
1.1 Introduction......Page 257
1.2 Kuwahara Filtering......Page 258
1.3 Generalized Kuwahara Filtering......Page 261
1.4 Anisotropic Kuwahara Filtering......Page 265
Bibliography......Page 273
2.1 Introduction......Page 275
2.2 Finding the Nearest Silhouette Edge......Page 278
2.4 Refinements......Page 283
2.5 GPU Implementation and Results......Page 285
2.6 Results......Page 288
2.7 Other Applications......Page 290
2.8 Conclusion......Page 298
Bibliography......Page 299
3. Environment Mapping with Floyd-Steinberg Halftoning......Page 300
3.1 Parametrization of the Environment Map......Page 301
3.2 Importance Sampling......Page 303
3.3 Proposed Solution......Page 305
Bibliography......Page 312
4.1 Introduction......Page 314
4.2 Hierarchical Item Buffers......Page 315
4.3 Application......Page 320
4.4 Results......Page 321
Bibliography......Page 323
5.1 Depth-of-Field Equations......Page 324
5.3 Exposure Simulation......Page 326
5.4 CUDA-Accelerated Computation......Page 330
5.5 Results......Page 332
Bibliography......Page 334
6.1 Introduction......Page 336
6.2 Implementation......Page 337
6.3 Results......Page 340
6.4 Extensions......Page 341
Bibliography......Page 342
7.1 Introduction......Page 343
7.2 The Texture-Space Approach......Page 344
7.3 The Screen-Space Approach......Page 347
7.5 Discussion of Results......Page 355
7.6 Conclusion......Page 358
Bibliography......Page 359
Part VI: Handheld Devices......Page 360
1.1 Introduction......Page 362
1.2 Key API Differences......Page 363
1.3 The Shader Language......Page 367
1.4 Initialization......Page 369
1.5 Basic Shaders: Implementing the Fixed-Function Pipeline......Page 370
1.6 Advanced Effects Made Easy......Page 375
1.8 Acknowledgments......Page 380
2.2 Motion Estimation......Page 381
2.3 Position Prediction......Page 384
2.4 Application: Controlling a Camera in a Spherical Coordinate System......Page 385
2.5 Algorithm Overview......Page 387
3.1 Software Development Kits......Page 390
3.2 General Optimization Strategies......Page 394
Bibliography......Page 400
4. Optimizing a 3D UI Engine for Mobile Devices......Page 401
4.1 Overview......Page 402
4.2 Optimization Methods......Page 403
Bibliography......Page 414
Part VII: Shadows......Page 416
1. Fast Conventional Shadow Filtering......Page 418
1.2 Introduction......Page 419
1.3 Uniform Shadow Filtering......Page 420
1.4 Separable Shadow Filters......Page 423
1.5 Nonseparable Unique Weights per PCF Result......Page 431
1.6 Advanced Shadow Filtering Techniques......Page 433
Bibliography......Page 448
2.2 Introduction......Page 449
2.3 Construction of an HPSM......Page 450
2.4 Using an HPSM......Page 455
Bibliography......Page 456
3.2 Tetrahedron Shadow Mapping......Page 457
3.3 Optimization......Page 466
3.4 Lookup Map......Page 467
3.5 Conclusion......Page 472
Bibliography......Page 477
4.1 Introduction......Page 478
4.2 Previous Work......Page 480
4.3 Screen Space Soft Shadows......Page 481
4.4 Results......Page 486
4.5 Conclusion......Page 489
Bibliography......Page 491
Part VIII: 3D Engine Design......Page 493
1.1 Introduction......Page 495
1.2 Design of Bucket Array......Page 496
1.3 The Algorithm......Page 497
1.5 The Adaptive Scheme......Page 498
1.6 Applications......Page 503
Bibliography......Page 507
2.1 Introduction......Page 509
2.2 Light Pre-Pass Rendering......Page 510
2.3 The PLAYSTATION3 and the CBE......Page 512
2.5 The Pre-pass......Page 515
2.6 The Lighting SPE Program......Page 516
2.7 The Main Pass......Page 523
2.9 Further Work......Page 524
Bibliography......Page 526
3.2 General Issues......Page 529
3.3 Resources Management......Page 533
3.4 Notes on Debugging......Page 538
3.6 Conclusion......Page 539
Bibliography......Page 540
4.2 Introduction......Page 541
4.3 Solution......Page 542
4.5 Future Work......Page 546
Part IX: Game Postmortems......Page 547
1.1 Filter Chain System......Page 548
1.2 Fun with Filters......Page 553
1.3 Cheats......Page 559
2.2 Deferred Shading......Page 560
2.3 Single Frame of CoJ:BiB, The Black Magic......Page 562
2.4 What Else DoWe Have?......Page 566
2.5 Conclusion......Page 567
Bibliography......Page 568
3.2 Making it Large and Beautiful......Page 569
3.3 Making it Consistent......Page 583
3.4 Making it Fast......Page 589
3.6 Acknowledgments......Page 593
Bibliography......Page 594
4.1 Introduction......Page 595
4.2 Converting Custom 3D Models into Voxel Representations......Page 596
4.3 Memory Requirements for Large Voxel Maps......Page 598
4.4 Polygonization from Voxels to Triangles......Page 599
4.5 Seamless Texture-Mapping for Free-Form Surfaces......Page 600
4.6 Reducing Repeated Texture Patterns......Page 601
4.8 Multi-material Voxel Maps......Page 602
4.9 Level of Detail......Page 604
4.10 Ambient Light......Page 605
Bibliography......Page 606
Part X: Beyond Pixels and Triangles......Page 608
1.1 Introduction......Page 610
1.2 Background......Page 611
1.3 CNN Implementation......Page 612
1.4 Results......Page 617
Bibliography......Page 619
2. Accelerating Virtual Texturing Using CUDA......Page 620
2.1 Introduction......Page 621
2.2 Implementing Virtual Texturing......Page 623
2.3 Rendering with Virtual Texturing......Page 625
2.4 GPU-Based Acceleration......Page 628
2.5 Results......Page 637
Bibliography......Page 638
3.1 Introduction......Page 640
3.2 Voxel Representations......Page 641
3.3 The GigaVoxels Approach......Page 642
3.4 Data Structure......Page 643
3.5 Rendering......Page 647
3.6 Out-of-Core Data Management......Page 653
3.7 Octree-Based Synthesis......Page 667
3.8 Voxel Object Instancing......Page 669
3.9 MipMap-Based Blur Effects......Page 670
3.10 Conclusion......Page 673
Bibliography......Page 674
4.1 Introduction......Page 675
4.2 Binning......Page 676
4.3 Applications......Page 680
4.4 Results......Page 683
4.5 Conclusion......Page 686
Bibliography......Page 687
5.2 Process Overview......Page 689
5.3 Sorting the Triangles......Page 690
5.4 Building the Buffer Map......Page 695
5.5 Addressing the Buffer......Page 698
5.7 Conclusion......Page 701
Bibliography......Page 702
Section Editors......Page 703
Contributors......Page 705