1st Edition

GPU Pro 6 Advanced Rendering Techniques

Edited By Wolfgang Engel Copyright 2016
    588 Pages 279 Color Illustrations
    by A K Peters/CRC Press

    The latest edition of this bestselling game development reference offers proven tips and techniques for the real-time rendering of special effects and visualization data that are useful for beginners and seasoned game and graphics programmers alike.

    Exploring recent developments in the rapidly evolving field of real-time rendering, GPU Pro6: Advanced Rendering Techniques assembles a high-quality collection of cutting-edge techniques for advanced graphics processing unit (GPU) programming. It incorporates contributions from more than 45 experts who cover the latest developments in graphics programming for games and movies.

    The book covers advanced rendering techniques that run on the DirectX or OpenGL runtimes, as well as on any other runtime with any language available. It details the specific challenges involved in creating games across the most common consumer software platforms such as PCs, video consoles, and mobile devices.

    The book includes coverage of geometry manipulation; rendering techniques, handheld devices programming, effects in image space, shadows, 3D engine design, graphics-related tools, and environmental effects. It also includes a dedicated section on general purpose GPU programming that covers CUDA, DirectCompute, and OpenCL examples.

    In color throughout, GPU Pro6 presents ready-to-use ideas and procedures that can help solve many of your daily graphics programming challenges. Example programs with downloadable source code are also provided on the book’s CRC Press web page.

    I: GEOMETRY MANIPULATION

    Dynamic GPU Terrain; David Pangerl
    Introduction
    Overview
    Terrain Data
    Rendering
    Dynamic Modification
    Physics Synchronization
    Problems
    Conclusions

    Bandwidth Efficient Procedural Meshes in the GPU via Tessellation; Gustavo Bastos Nunes and Joao Lucas Guberman Raza
    Introduction
    Procedural Mesh and the Graphics Pipeline
    Hull Shader
    Domain Shader
    Noise in Procedural Meshes
    Performance Optimizations
    Conclusion
    Bibliography

    Real-Time Deformation of Subdivision Surfaces on Object Collisions; Henry Schafer, Matthias Nießner, Benjamin Keinert, and Marc Stamminger
    Introduction
    Deformable Surface Representation
    Algorithm Overview
    Pipeline
    Optimizations
    Results
    Conclusion
    Acknowledgments
    Bibliography

    Realistic Volumetric Explosions in Games; Alex Dunn
    Introduction
    Rendering Pipeline Overview
    Offline/Pre-Processing
    Runtime
    Visual Improvements
    Results
    Performance
    Conclusion
    Acknowledgements
    Bibliography

    II: RENDERING

    Next-Gen Rendering in Thief; Peter Sikachev, Samuel Delmont, Uriel Doyon, and Jean-Normand Bucci
    Introduction
    Reflections
    Contact-Hardening Shadows
    Lit Particles
    Compute Shaders-Based Post-Processing
    Conclusion
    Acknowledgments
    Bibliography

    Grass Rendering and Simulation with LOD;
    Dongsoo Han and Hongwei Li
    Introduction
    Render Grass Blades
    Simulation
    Results
    Bibliography

    Hybrid Reconstruction Anti-Aliasing
    ; Michael Drobot
    Introduction
    Overview
    Related work
    Hybrid Anti-Aliasing Overview
    Temporally Stable Edge Anti-Aliasing
    Temporal Super Sampling
    Temporal Anti-aliasing (TAA)
    Final Implementation
    Results Discussion
    Conclusion
    Bibliography

    Real-Time Rendering of Physically-Based Clouds Using Precomputed Scattering
    ; Egor Yusov
    Introduction
    Light Transport Theory
    Pre-computed Solutions
    Volume-Aware Blending
    Implementation
    Results and Discussion
    Conclusion
    Bibliography

    Sparse Procedural Volume Rendering; Doug McNabb
    Introduction
    Overview of Current Techniques
    Overview
    Metavoxels
    Algorithm
    Conclusion
    Bibliography

    III: LIGHTING

    Real-Time Lighting via Light Linked List; Abdul Bezrati
    Introduction
    Algorithm
    Populating the Light Linked List
    Accessing the Light Linked List
    Reduced Resolution
    Conclusion
    Bibliography

    Deferred Normalized Irradiance Probes; John Huelin, Benjamin Rouveyrol, and Bart lomiej Wroński
    Introduction
    Deferred Normalized Irradiance Probes Algorithm
    Tool Side of the Algorithm
    Runtime Details of Algorithm
    Results and Discussion
    Bibliography

    Volumetric Fog and Lighting; Bartlomiej Wroński
    Introduction
    Volumetric Fog Algorithm
    Results and Discussion
    Bibliography

    Physically Based Light Probe Generation on GPU; Ivan Spogreev
    Introduction
    Light Probes Theory
    Generating Light Probes on the GPU
    Results
    Bibliography

    Real-Time Global Illumination Using Slices; Hugh Malan
    Introduction
    Algorithm Overview
    Approximating the Irradiance Due to an Emissive Plane
    Building the Image Pyramid
    Combining Multiple Slices
    Layered Heightfields
    Slice Placement
    Propagating Irradiance
    Results
    Conclusion
    Bibliography

    IV: SHADOWS

    Practical Screen Space Soft Shadows; Márton Tamás and Viktor Heisenberger
    Pre-introduction
    Introduction
    History
    Algorithm Overview
    Shadow Map Rendering Pass
    Introducing Layers, Light Assignment
    Layered Penumbra Map Pass
    Anisotropic Gaussian Blur Pass
    Lighting Pass
    Performance Considerations
    Results
    Quality Tests
    Performance Analysis
    Conclusion
    Bibliography

    Tile-Based Omnidirectional Shadows; Hawar Doghramachi
    Introduction
    Overview
    Implementation
    Results
    Discussion
    Conclusion
    Bibliography

    Shadow Map Silhouette Revectorization; Vladimir Bondarev
    Introduction
    Implementation
    Results
    Future Work
    Conclusion
    Bibliography

    V: MOBILE DEVICES

    Hybrid Ray Tracing on a PowerVR GPU; Gareth Morgan
    Review
    Combining Ray Tracing with Rasterization
    Hard Shadows
    Soft Shadows
    Reflections
    Transparency
    Performance
    Results
    Conclusion
    Bibliography

    Implementing a GPU-Only Particles Collision System with ASTC 3D Textures and OpenGL ES 3.0; Daniele Di Donato
    Introduction
    GPU-Only particles system
    Physics Simulation
    Rendering the Particles
    Conclusion
    Bibliography

    Animated Characters with Shell Fur for Mobile Devices; Andrew Girdler and James L Jones
    Introduction
    Overview
    Creating a Shell Fur Texture
    Bone Batches or Single Pass?
    Model Data and Setup
    Animation with TF
    Instancing for Fur Shells
    Lighting and Other Effects
    Conclusion
    Bibliography

    High Dynamic Range Computational Photography on Mobile GPUs; Simon McIntosh-Smith, Amir Chohan, Dan Curran, and Anton Lokhmotov
    Introduction
    Background
    Tone Mapping Operators
    Related Work
    GPGPU using OpenCL
    OpenGL ES and Android
    Implementing an HDR Pipeline using OpenCL and OpenGL ES
    Android Implementation
    Performance of our HDR effects
    Conclusions
    Bibliography

    VI: COMPUTE

    Compute-Based Tiled Culling; Jason Stewart
    Introduction
    Overview
    Implementation
    Optimization
    Unreal® Engine 4 Results
    Conclusion
    Acknowledgments
    Bibliography

    Rendering Vector Displacement Mapped Surfaces in a GPU Ray Tracer; Takahiro Harada
    Introduction
    Displacement Mapping
    Ray Tracing a Scene with Vector Displacement Maps
    Ray Tracing a Vector Displacement Patch
    Integration into an OpenCL Ray Tracer
    Results and Discussion
    Conclusion
    Bibliography

    Smooth Probabilistic Ambient Occlusion for Volume Rendering; Thomas Kroes, Dirk Schut, and Elmar Eisemann
    Introduction
    Smooth Probabilistic Ambient Occlusion
    Approximating Ambient Occlusion
    Results
    Conclusion
    Bibliography

    VII 3D ENGINE DESIGN

    Blockwise Linear Binary Grids for Fast Ray Casting Operations; Holger Gruen
    Overview
    Introduction
    Block-Wise Linear Memory Layout
    Rendering Block-wise linear Binary Voxel Grids
    Casting Rays Through a Block-Wise Linear Grid
    Detecting Occlusions During Indirect Light Gathering
    Results
    Future Work
    External References
    Bibliography

    Semantic Based Shader Generation Using Shader Shaker; Michael Delva, Julien Hamaide, and Ramses Ladlani
    Introduction
    Previous Work
    Definitions
    Overview
    Algorithm Explanation
    Error Reporting
    Usage Discussions
    What's next
    Conclusion
    Bibliography

    ANGLE: Bringing OpenGL ES to the Desktop; Shannon Woods, Nicolas Capens, Jamie Madill, and Geoff Lang
    Introduction
    Direct3D 11
    Shader Translation
    Implementing ES3 on Feature Level 10
    Future Directions: Moving To New Platforms
    Recommended Practices
    Bibliography

    Biography

    Wolfgang Engel