GPU Pro 7 Advanced Rendering Techniques.pdf Acknowledgments xi Web Materials xiii I Geometry Manipulation 1 Carsten Dachsbacher 1 Deferred Snow Deformation inRise of the Tomb Raider 3 Anton Kai Michels and Peter Sikachev 1.1 Introduction............................. 3 1.2 Terminology............................. 4 1.3 RelatedWork............................ 5 1.4 SnowDeformation:TheBasicApproach............. 6 1.5 DeferredDeformation ....................... 7 1.6 DeformationHeightmap ...................... 11 1.7 Filling the Tr ail over Time . . . . . . . . . . . . . . . . . . . . . 13 1.8 Hardware Tessellation and Performance . . . . . . . . . . . . . 15 1.9 FutureApplications ........................ 15 1.10Acknowledgments.......................... 16 Bibliography ............................... 16 2 Catmull-Clark Subdivision Surfaces 17 Wade Brainerd 2.1 Introduction............................. 17 2.2 TheCallofDutyMethod ..................... 20 2.3 RegularPatches .......................... 20 2.4 IrregularPatches.......................... 25 2.5 Filling Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.6 GoingFurther............................ 34 2.7 Conclusion ............................. 39 2.8 Acknowledgments.......................... 39 Bibliography ............................... 39 v vi Contents II Lighting 41 Michal Valient 1 Clustered Shading: Assigning Lights Using Conservative Rasterization in DirectX 12 43 Kevin¨ Ortegren and Emil Persson 1.1 Introduction............................. 43 1.2 ConservativeRasterization..................... 44 1.3 Implementation........................... 44 1.4 Shading ............................... 55 1.5 ResultsandAnalysis........................ 56 1.6 Conclusion ............................. 67 Bibliography ............................... 67 2 Fine Pruned Tiled Light Lists 69 Morten S. Mikkelsen 2.1 Overview .............................. 69 2.2 Introduction............................. 69 2.3 OurMethod............................. 71 2.4 ImplementationDetails ...................... 73 2.5 EngineIntegration ......................... 76 2.6 Results................................ 78 2.7 Conclusion ............................. 79 2.8 Acknowledgments.......................... 80 Bibliography ............................... 81 3 Deferred Attribute Interpolation Shading 83 Christoph Schied and Carsten Dachsbacher 3.1 Introduction............................. 83 3.2 Algorithm.............................. 84 3.3 Implementation........................... 87 3.4 Results................................ 94 3.5 Conclusion ............................. 95 Bibliography ............................... 96 4 Real-Time Volumetric Cloudscapes 97 Andrew Schneider 4.1 Overview .............................. 97 4.2 Introduction............................. 98 4.3 CloudModeling........................... 98 4.4 CloudLighting ........................... 110 4.5 CloudRendering .......................... 119 Contents vii 4.6 ConclusionandFutureWork ................... 125 4.7 Acknowledgments.......................... 126 Bibliography ............................... 126 III Rendering 129 Christopher Oat 1 Adaptive Virtual Textures 131 Ka Chen 1.1 Introduction............................. 131 1.2 ProceduralVirtualTexturesBasics................ 131 1.3 AdaptiveVirtualTextures..................... 131 1.4 VirtualTextureBestPractices .................. 137 1.5 Conclusion ............................. 143 Bibliography ............................... 144 2 Deferred Coarse Pixel Shading 145 Rahul P. Sathe and Tomasz Janczak 2.1 Overview .............................. 145 2.2 IntroductionandBackground................... 145 2.3 Algorithm.............................. 146 2.4 Performance............................. 151 2.5 Conclusion ............................. 151 Bibliography ............................... 153 3 Progressive Rendering Using Multi-frame Sampling 155 Daniel Limberger, Karsten Tausche, Johannes Linke, and J¨urgen D¨ollner 3.1 Introduction............................. 155 3.2 Approach .............................. 156 3.3 Multi-frameRenderingTechniques ................ 160 3.4 ConclusionandFutureWork ................... 169 3.5 Acknowledgment .......................... 170 Bibliography ............................... 170 IV Mobile Devices 173 Marius Bjørge 1 Efficient Soft Shadows Based on Static Local Cubemap 175 Sylwester Bala and Roberto Lopez Mendez 1.1 Overview .............................. 175 1.2 Introduction............................. 175 viii Contents 1.3 AlgorithmOverview ........................ 176 1.4 WhatIsaLocalCubemap? .................... 177 1.5 CreatingaShadowCubemap ................... 178 1.6 ApplyingShadows ......................... 179 1.7 Smoothness ............................. 182 1.8 Combining the Shadow Technique with Others . . . . . . . . . 183 1.9 PerformanceandQuality ..................... 184 1.10FutureWork ............................ 185 1.11Conclusion ............................. 185 Bibliography ............................... 186 2 Physically Based Deferred Shading on Mobile 187 Ashley Vaughan Smith and Mathieu Einig 2.1 Introduction............................. 187 2.2 PhysicallyBasedShading ..................... 187 2.3 An Efficient Physically Based Deferred Renderer . . . . . . . . 190 2.4 Experiments............................. 195 2.5 ConclusionandFutureWork ................... 195 Bibliography ............................... 198 V 3D Engine Design 199 Wessam Bahnassi 1 Interactive Cinematic Particles 201 Homam Bahnassi and Wessam Bahnassi 1.1 Introduction............................. 201 1.2 Background............................. 201 1.3 ChallengesandPreviousWork .................. 202 1.4 Interactive Cinematic Particles (ICP) System Outline . . . . . 204 1.5 DataAuthoringWorkflow..................... 204 1.6 OfflineBuildProcess........................ 209 1.7 RuntimeExecution......................... 212 1.8 AdditionalNotes .......................... 217 1.9 Conclusion ............................. 217 1.10Acknowledgment .......................... 218 Bibliography ............................... 218 2 Real-Time BC6H Compression on GPU 219 Krzysztof Narkowicz 2.1 Introduction............................. 219 2.2 BC6HDetails............................ 220 2.3 CompressionAlgorithm ...................... 222 Contents ix 2.4 Results................................ 225 2.5 PossibleExtensions......................... 227 2.6 Conclusion ............................. 228 2.7 Acknowledgements ......................... 228 Bibliography ............................... 228 3 A 3D Visualization Tool Used for Test Automation in the Forza Series 231 Gustavo Bastos Nunes 3.1 Introduction............................. 231 3.2 Collision Mesh Issues . . . . . . . . . . . . . . . . . . . . . . . . 232 3.3 DetectingtheIssues ........................ 234 3.4 Visualization ............................ 242 3.5 Navigation.............................. 242 3.6 Workflow .............................. 243 3.7 Conclusion ............................. 244 3.8 Acknowledgments.......................... 244 Bibliography ............................... 244 4 Semi-static Load Balancing for Low-Latency Ray Tracing on Heterogeneous Multiple GPUs 245 Takahiro Harada 4.1 Introduction............................. 245 4.2 LoadBalancingMethods...................... 246 4.3 Semi-staticLoadBalancing .................... 248 4.4 ResultsandDiscussion....................... 250 4.5 Acknowledgments.......................... 253 Bibliography ............................... 253 VI Compute 255 Wolfgang Engel 1 Octree Mapping from a Depth Camera 257 Dave Kotfis and Patrick Cozzi 1.1 Overview .............................. 257 1.2 PreviousWorkandLimitations.................. 260 1.3 OctreeSceneRepresentation ................... 261 1.4 RenderingTechniques ....................... 267 1.5 Results................................ 270 1.6 ConclusionandFutureWork ................... 271 1.7 Acknowledgment .......................... 272 Bibliography ............................... 272 x Contents 2 Interactive Sparse Eulerian Fluid 275 Alex Dunn 2.1 Overview .............................. 275 2.2 Introduction............................. 275 2.3 GPUEulerianFluidSimulation.................. 276 2.4 SimulationStages.......................... 277 2.5 Problems .............................. 281 2.6 LatencyResistantSparseFluidSimulation............ 290 2.7 Performance............................. 291 2.8 SparseVolumeRendering ..................... 293 2.9 Results................................ 296 2.10Conclusion ............................. 296 Bibliography ............................... 298 About the Editors 299 About the Contributors 301 ail over Time . . . . . . . . . . . . . . . . . . . . . 13 1.8 Hardware Tessellation and Performance . . . . . . . . . . . . . 15 1.9 FutureApplications ........................ 15 1.10Acknowledgments.......................... 16 Bibliography ............................... 16 2 Catmull-Clark Subdivision Surfaces 17 Wade Brainerd 2.1 Introduction............................. 17 2.2 TheCallofDutyMethod ..................... 20 2.3 RegularPatches .......................... 20 2.4 IrregularPatches.......................... 25 2.5 Filling Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.6 GoingFurther............................ 34 2.7 Conclusion ............................. 39 2.8 Acknowledgments.......................... 39 Bibliography ............................... 39 v vi Contents II Lighting 41 Michal Valient 1 Clustered Shading: Assigning Lights Using Conservative Rasterization in DirectX 12 43 Kevin¨ Ortegren and Emil Persson 1.1 Introduction............................. 43 1.2 ConservativeRasterization..................... 44 1.3 Implementation........................... 44 1.4 Shading ............................... 55 1.5 ResultsandAnalysis........................ 56 1.6 Conclusion ............................. 67 Bibliography ............................... 67 2 Fine Pruned Tiled Light Lists 69 Morten S. Mikkelsen 2.1 Overview .............................. 69 2.2 Introduction............................. 69 2.3 OurMethod............................. 71 2.4 ImplementationDetails ...................... 73 2.5 EngineIntegration ......................... 76 2.6 Results................................ 78 2.7 Conclusion ............................. 79 2.8 Acknowledgments.......................... 80 Bibliography ............................... 81 3 Deferred Attribute Interpolation Shading 83 Christoph Schied and Carsten Dachsbacher 3.1 Introduction............................. 83 3.2 Algorithm.............................. 84 3.3 Implementation........................... 87 3.4 Results................................ 94 3.5 Conclusion ............................. 95 Bibliography ............................... 96 4 Real-Time Volumetric Cloudscapes 97 Andrew Schneider 4.1 Overview .............................. 97 4.2 Introduction............................. 98 4.3 CloudModeling........................... 98 4.4 CloudLighting ........................... 110 4.5 CloudRendering .......................... 119 Contents vii 4.6 ConclusionandFutureWork ................... 125 4.7 Acknowledgments.......................... 126 Bibliography ............................... 126 III Rendering 129 Christopher Oat 1 Adaptive Virtual Textures 131 Ka Chen 1.1 Introduction............................. 131 1.2 ProceduralVirtualTexturesBasics................ 131 1.3 AdaptiveVirtualTextures..................... 131 1.4 VirtualTextureBestPractices .................. 137 1.5 Conclusion ............................. 143 Bibliography ............................... 144 2 Deferred Coarse Pixel Shading 145 Rahul P. Sathe and Tomasz Janczak 2.1 Overview .............................. 145 2.2 IntroductionandBackground................... 145 2.3 Algorithm.............................. 146 2.4 Performance............................. 151 2.5 Conclusion ............................. 151 Bibliography ............................... 153 3 Progressive Rendering Using Multi-frame Sampling 155 Daniel Limberger, Karsten Tausche, Johannes Linke, and J¨urgen D¨ollner 3.1 Introduction............................. 155 3.2 Approach .............................. 156 3.3 Multi-frameRenderingTechniques ................ 160 3.4 ConclusionandFutureWork ................... 169 3.5 Acknowledgment .......................... 170 Bibliography ............................... 170 IV Mobile Devices 173 Marius Bjørge 1 Efficient Soft Shadows Based on Static Local Cubemap 175 Sylwester Bala and Roberto Lopez Mendez 1.1 Overview .............................. 175 1.2 Introduction............................. 175 viii Contents 1.3 AlgorithmOverview ........................ 176 1.4 WhatIsaLocalCubemap? .................... 177 1.5 CreatingaShadowCubemap ................... 178 1.6 ApplyingShadows ......................... 179 1.7 Smoothness ............................. 182 1.8 Combining the Shadow Technique with Others . . . . . . . . . 183 1.9 PerformanceandQuality ..................... 184 1.10FutureWork ............................ 185 1.11Conclusion ............................. 185 Bibliography ............................... 186 2 Physically Based Deferred Shading on Mobile 187 Ashley Vaughan Smith and Mathieu Einig 2.1 Introduction............................. 187 2.2 PhysicallyBasedShading ..................... 187 2.3 An Efficient Physically Based Deferred Renderer . . . . . . . . 190 2.4 Experiments............................. 195 2.5 ConclusionandFutureWork ................... 195 Bibliography ............................... 198 V 3D Engine Design 199 Wessam Bahnassi 1 Interactive Cinematic Particles 201 Homam Bahnassi and Wessam Bahnassi 1.1 Introduction............................. 201 1.2 Background............................. 201 1.3 ChallengesandPreviousWork .................. 202 1.4 Interactive Cinematic Particles (ICP) System Outline . . . . . 204 1.5 DataAuthoringWorkflow..................... 204 1.6 OfflineBuildProcess........................ 209 1.7 RuntimeExecution......................... 212 1.8 AdditionalNotes .......................... 217 1.9 Conclusion ............................. 217 1.10Acknowledgment .......................... 218 Bibliography ............................... 218 2 Real-Time BC6H Compression on GPU 219 Krzysztof Narkowicz 2.1 Introduction............................. 219 2.2 BC6HDetails............................ 220 2.3 CompressionAlgorithm ...................... 222 Contents ix 2.4 Results................................ 225 2.5 PossibleExtensions......................... 227 2.6 Conclusion ............................. 228 2.7 Acknowledgements ......................... 228 Bibliography ............................... 228 3 A 3D Visualization Tool Used for Test Automation in the Forza Series 231 Gustavo Bastos Nunes 3.1 Introduction............................. 231 3.2 Collision Mesh Issues . . . . . . . . . . . . . . . . . . . . . . . . 232 3.3 DetectingtheIssues ........................ 234 3.4 Visualization ............................ 242 3.5 Navigation.............................. 242 3.6 Workflow .............................. 243 3.7 Conclusion ............................. 244 3.8 Acknowledgments.......................... 244 Bibliography ............................... 244 4 Semi-static Load Balancing for Low-Latency Ray Tracing on Heterogeneous Multiple GPUs 245 Takahiro Harada 4.1 Introduction............................. 245 4.2 LoadBalancingMethods...................... 246 4.3 Semi-staticLoadBalancing .................... 248 4.4 ResultsandDiscussion....................... 250 4.5 Acknowledgments.......................... 253 Bibliography ............................... 253 VI Compute 255 Wolfgang Engel 1 Octree Mapping from a Depth Camera 257 Dave Kotfis and Patrick Cozzi 1.1 Overview .............................. 257 1.2 PreviousWorkandLimitations.................. 260 1.3 OctreeSceneRepresentation ................... 261 1.4 RenderingTechniques ....................... 267 1.5 Results................................ 270 1.6 ConclusionandFutureWork ................... 271 1.7 Acknowledgment .......................... 272 Bibliography ............................... 272 x Contents 2 Interactive Sparse Eulerian Fluid 275 Alex Dunn 2.1 Overview .............................. 275 2.2 Introduction............................. 275 2.3 GPUEulerianFluidSimulation.................. 276 2.4 SimulationStages.......................... 277 2.5 Problems .............................. 281 2.6 LatencyResistantSparseFluidSimulation............ 290 2.7 Performance............................. 291 2.8 SparseVolumeRendering ..................... 293 2.9 Results................................ 296 2.10Conclusion ............................. 296 Bibliography ............................... 298 About the Editors 299 About the Contributors 301