[フレーム]

GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins

The document discusses a novel technique for rendering deformable snow surfaces in the game 'Batman: Arkham Origins,' focusing on achieving low-memory usage and iconic visuals while ensuring organic deformation. It outlines approaches for various platforms, including runtime heightmap generation and directx 11 tessellation, alongside performance considerations. The technique enhances player interaction with the environment, depicting realistic snow effects in the game world.

Downloaded 351 times
Deformable Snow Rendering in BatmanTM: Arkham Origins Colin Barré-Brisebois (Lead Rendering Programmer)
Agenda  Motivations  Deformable Snow くろまる Novel technique for rendering of surfaces covered with fallen deformable snow くろまる For consoles and enhanced for PC (DX11 tessellation)  Q&A
Motivations  Enhance the world with dynamics of deformable snow  Three requirements: 1. Iconic visuals of deformable snow 2. Organic deformation from walking, falling, sliding, fighting and more 3. Low memory usage and low performance cost for an open world game
Iconic / Organic Deformable Snow From Google Images - http://bit.ly/M7T9kV (footsteps in snow, left) and http://bit.ly/M7TbJB (snow angel, right)
Previous Work? [St-Amour 2013] (Assassin’s Creed 3) [Edwards 2012] (Journey)  Raycast on a terrain / Modify terrain mesh. - We don’t have terrain. We have rooftops and streets. - Besides, we don’t want to add raycasts.  Requires variable triangle density for visually convincing vertex displacement in all cases - PC DX11 with tessellation is great... but what about consoles? 
Our Approach (1/)  Generate displacement heightmaps at runtime くろまる Snow prints are a semi-low frequency detail effect くろまる Cheap approximation works with footsteps & more くろまる Great performance, and low memory usage  Consoles: virtual displacement via Relief Mapping くろまる Minimal taps. No "swimming" くろまる Independent of triangle density  PC: DirectX 11 version with tessellation
Our Approach (2/)  Gotham has many rooftops and streets  Dynamically alloc/dealloc heightmaps based on size, player/AIs and visibility Heightmaps
Feet Cape
Feet Cape
 Render snow-affecting objects looking from under the surface using an ankle-high orthogonal frustum 1. Clear to black 2. Render actors in white 3. Filter and accumulate (ping/pong) in a texture  Anything in that zone will affect the heightmap (feet, hands, sliding, throwing a thug to the ground...) Generating the Heightmap ?
Ankle-high Orthogonal Frustum
Let’s see what it looks like at runtime!
Update Loop For every active* snow surface 1. Figure out if surface-affecting object is on the surface -We use a quad tree look-up rather than keeping an actor list for each surface 2. Override materials on all parts - Simple white material 3. Render actors 4. Process/Accumulate with custom post-process chain
Heightmap Accumulation & Render  Stage 1 – Get results & small blur くろまる 4-tap bilinear Poisson  Stage 2 – Add to existing heightmap くろまる During this stage, you can also subtract a small value to the heightmap to make snow gradually replenish (since it’s snowing)   Stage 3 – Shading
Stage 3 - Shading (1/)  Snow surfaces have 2 material options 1. Basic Snow Material o Active when surface is not being deformed o Shows new / clean / untouched snow, cheaper 2. Deformable Snow Material o Two stages: non-deformed or fully flattened snow o Non-deformed part the same as Basic Snow Material o Fully flattened shows rooftop tiles / concrete. o Blends both stages using heightmap & Relief Mapping
Stage 3 - Shading (2/) Non-deformed Snow Flattened Snow
Stage 3 - Shading (3/)  Blending Material Stages くろまる For diffuse & spec, simple lerp o Also, tint diffuse with sky color in transition area to fake SSS くろまる For normals, blend using Reoriented Normal Mapping [Barré-Brisebois & Hill 2012] o Normals are not colors. o You can’t lerp/overlay between directions! o Used in game to: くろまる Blend the snow detail normal and the macro "wave" snow normal くろまる Add detail normal maps everywhere
Stage 3 - Shading (4/) float3 t = tex2D(BaseNormal, uv) * float3(2, 2, 2) + float3(-1, -1, 0); float3 u = tex2D(DetailNormal, uv) * float3(-2, -2, 2) + float3(1, 1, -1); float3 r = t * dot(t, u) / t.z – u; [Barré-Brisebois & Hill 2012]
Linear Interpolation
Overlay
[Barré-Brisebois & Hill 2012] Reoriented Normal Mapping
Add. Implementation Details (1/)  Surface UVs align with ortho frustum くろまる 0-1 range, simplifies heightmap-to-displacement  Scaled world-space heightmap res. くろまる Min(512, 1⁄4 * (SurfaceX, SurfaceY)) くろまる Tries to keep texels "square" くろまる Doesn’t need to be high-res, looks better in lower resolutions くろまる Must scale Relief Mapping parameters
Add. Implementation Details (2/)  Split render & tick of active surfaces くろまる Snow surface where Batman stands has priority くろまる Only render 2 surfaces/frame (tweakable but good enough, with distance-based priorities)  Reuse memory from old heightmaps くろまる Not active/visible (max distance from sphere bounds) くろまる Un-streamed open-world zones
DirectX 11 With Tessellation (1/)  Feature developed with our friends @ NVIDIA (Evgeny Makarov)  Accurate displacement based on depth くろまる Capture the height field like a z-buffer くろまる Two channels: o Minimum height field o Projected displacement くろまる Allows for additive capture & smoother results. くろまる Also allows for deformable snow banks! 
Rooftop Minimum Height field Orthogonal Capture Frustum Projected Displacement Final Surface (displaced) DirectX 11 With Tessellation (2/)
DirectX 11 With Tessellation (3/)  Tessellated version adds detailed displacement calculated from the normal map, globally applied to the snow surface くろまる Extra detail compared to the relief-mapped version くろまる Takes the macro normal map to add additional "macro waves"
Without Tessellation (No Macro Deformation)
With Tessellation (Macro Deformation)
DirectX 11 With Tessellation (4/)  Runtime dicing of snow meshes  Real geometry means: くろまる Works with Dynamic Shadows o Character shadows now follows the surface and shift with the deformation o Self shadowing & self-shading くろまる Works with dynamic ambient occlusion o AO fills-in the trails
Performance & Memory  Performance くろまる Heightmaps update < 1.0ms GPU on PS3/360  Memory くろまる 2 MB (360 / PS3 / WiiU) o Since we’re using low resolution heightmaps o This is flexible, but sufficient for our needs since we allocate/deallocate as the player flies in the world くろまる 2-4 MB (FP16 vs FP32 on PC)
Caveats / Issues ?  Relief-Mapped Approach くろまる Deformation looks great, but will never be as thick as tessellation. Replace with Parallax Occlusion Mapping? くろまる Derive parametric AO from the heightmap?  Tessellated Approach くろまる When artists were working on content creation, displacement wasn't taken into account (pre-pass actors, open edges being visible, etc...) くろまる Some meshes couldn't use tessellation as there were parts of geometry right under the snow, not supposed to be visible
Future Endeavours...  Save the heightmaps and reload them?  Use this technique for other cases, such as sand, mud, etc...
Summary  A fast and low-memory footprint technique to render deformable snow surfaces くろまる Adds a really nice level of interaction between players and the world くろまる Depics iconic & organic visuals of deformable snow  A good tessellation case for your DX11 game using minimal editing and art tweaks
Thank You! Érick Bilodeau David Massicotte Sébastien Turcotte Jimmy Béliveau Olivier Pomarez Philippe Bernard Ryan Lewis Marc Bouchard Jean-Noé Morissette Pierric Gimmig Patrick Dubuc Reid Schneider Maggy Larouche Miguel Sainz Evgeny Makarov Jon Jansen Christina Coffin Jon Greenberg NVIDIA Questions? colin.barrebrisebois@wbgames.com / @ZigguratVertigo
http://www.wbgamesmontreal.com
References [Barré-Brisebois & Hill 2012] Barré-Brisebois, Colin and Hill, Stephen. "Blending in Detail - Reoriented Normal Mapping", 2012. http://bit.ly/Mf2UH0 [Edwards 2013] Edwards, John. "Sand Rendering in Journey", Advances in Real-Time Rendering, SIGGRAPH, 2012. http://advances.realtimerendering.com/s2012/index.html [Policarpo & Oliveira 2006] Policarpo, Fabio and Oliveira, Manuel M. Rendering Surface Details in Games with Relief Mapping Using a Minimally Invasive Approach. In:Wolfgang Engel (ed.). SHADER X4: Lighting & Rendering. Charles River Media, Inc., Hingham, Massachusetts, 2006 (ISBN 1-58450-425-0), pp. 109-119. [St-Amour 2013] St-Amour, Jean-François. "Rendering Assassin's Creed", Game Developers Conference, 2013.
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins

More Related Content

Rendering Techniques in Rise of the Tomb Raider
PDF
Rendering Techniques in Rise of the Tomb Raider
Lighting the City of Glass
PPTX
Lighting the City of Glass
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
PDF
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
PPT
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
The Unique Lighting of Mirror's Edge
PPT
The Unique Lighting of Mirror's Edge
The Rendering Technology of Killzone 2
PPTX
The Rendering Technology of Killzone 2
DirectX 11 Rendering in Battlefield 3
PPTX
DirectX 11 Rendering in Battlefield 3
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
PPTX
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb Raider
Lighting the City of Glass
Lighting the City of Glass
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
The Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's Edge
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...

What's hot

Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
PDF
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Uncharted Animation Workflow
PDF
Uncharted Animation Workflow
Rendering Battlefield 4 with Mantle
PPTX
Rendering Battlefield 4 with Mantle
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
PPTX
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
Uncharted 2: Character Pipeline
PDF
Uncharted 2: Character Pipeline
A Step Towards Data Orientation
PPTX
A Step Towards Data Orientation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
PDF
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
PPTX
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
PPSX
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Approaching zero driver overhead
PPTX
Approaching zero driver overhead
Lighting Shading by John Hable
PDF
Lighting Shading by John Hable
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
PPTX
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Siggraph2016 - The Devil is in the Details: idTech 666
PDF
Siggraph2016 - The Devil is in the Details: idTech 666
Ssao
PPTX
Ssao
FrameGraph: Extensible Rendering Architecture in Frostbite
PPTX
FrameGraph: Extensible Rendering Architecture in Frostbite
Moving Frostbite to Physically Based Rendering
PPTX
Moving Frostbite to Physically Based Rendering
Frostbite on Mobile
PPTX
Frostbite on Mobile
Shiny PC Graphics in Battlefield 3
PPTX
Shiny PC Graphics in Battlefield 3
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
PPTX
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Physically Based Lighting in Unreal Engine 4
PDF
Physically Based Lighting in Unreal Engine 4
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Uncharted Animation Workflow
Uncharted Animation Workflow
Rendering Battlefield 4 with Mantle
Rendering Battlefield 4 with Mantle
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
Uncharted 2: Character Pipeline
Uncharted 2: Character Pipeline
A Step Towards Data Orientation
A Step Towards Data Orientation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Approaching zero driver overhead
Approaching zero driver overhead
Lighting Shading by John Hable
Lighting Shading by John Hable
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
Ssao
Ssao
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
Frostbite on Mobile
Frostbite on Mobile
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4

Viewers also liked

Naughty Dog Vertex
PDF
Naughty Dog Vertex
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
KEY
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Modular Rigging in Battlefield 3
PPTX
Modular Rigging in Battlefield 3
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
PDF
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
State-Based Scripting in Uncharted 2: Among Thieves
PDF
State-Based Scripting in Uncharted 2: Among Thieves
Terrain in Battlefield 3: A Modern, Complete and Scalable System
PPTX
Terrain in Battlefield 3: A Modern, Complete and Scalable System
Ant man
PPTX
Ant man
Mcguireday ancient civilizations pathfinder
PPTX
Mcguireday ancient civilizations pathfinder
Future Forum 2013 - Bes fvg
PDF
Future Forum 2013 - Bes fvg
Resident evil 3 nemesis
PDF
Resident evil 3 nemesis
El increible hulk
PDF
El increible hulk
Justice League of America
PPTX
Justice League of America
Marvel Guide For Developers
PDF
Marvel Guide For Developers
Torrent downloaded from rarbg.com
TXT
Torrent downloaded from rarbg.com
Alexis superman report
PPT
Alexis superman report
The joker
PPTX
The joker
Batman
PPT
Captain America: Civil war
PPTX
Captain America: Civil war
The Avengers
PPTX
The Avengers
Wonder woman
PPTX
Wonder woman
Naughty Dog Vertex
Naughty Dog Vertex
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
State-Based Scripting in Uncharted 2: Among Thieves
State-Based Scripting in Uncharted 2: Among Thieves
Terrain in Battlefield 3: A Modern, Complete and Scalable System
Terrain in Battlefield 3: A Modern, Complete and Scalable System
Ant man
Ant man
Mcguireday ancient civilizations pathfinder
Mcguireday ancient civilizations pathfinder
Future Forum 2013 - Bes fvg
Future Forum 2013 - Bes fvg
Resident evil 3 nemesis
Resident evil 3 nemesis
El increible hulk
El increible hulk
Justice League of America
Justice League of America
Marvel Guide For Developers
Marvel Guide For Developers
Torrent downloaded from rarbg.com
Torrent downloaded from rarbg.com
Alexis superman report
Alexis superman report
The joker
The joker
Batman
Captain America: Civil war
Captain America: Civil war
The Avengers
The Avengers
Wonder woman
Wonder woman

Similar to GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins

Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
PPTX
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
PPT
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Authoring of procedural rocks in The Blacksmith realtime short
PDF
Authoring of procedural rocks in The Blacksmith realtime short
Rendering Tech of Space Marine
PDF
Rendering Tech of Space Marine
GDC 2012: Advanced Procedural Rendering in DX11
PPT
GDC 2012: Advanced Procedural Rendering in DX11
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
PDF
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
FV_IGARSS11.ppt
PPT
FV_IGARSS11.ppt
FV_IGARSS11.ppt
PPT
FV_IGARSS11.ppt
FV_IGARSS11.ppt
PPT
FV_IGARSS11.ppt
FV_IGARSS11.ppt
PPT
FV_IGARSS11.ppt
Destruction Masking in Frostbite 2 using Volume Distance Fields
PPT
Destruction Masking in Frostbite 2 using Volume Distance Fields
Rendering Technologies from Crysis 3 (GDC 2013)
PPTX
Rendering Technologies from Crysis 3 (GDC 2013)
Light prepass
PPT
Light prepass
Terra formation control or how to move mountains
PDF
Terra formation control or how to move mountains
Icaros Photogrammetric Suite (IPS) Workflow
PPTX
Icaros Photogrammetric Suite (IPS) Workflow
Smedberg niklas bringing_aaa_graphics
PDF
Smedberg niklas bringing_aaa_graphics
Crysis Next-Gen Effects (GDC 2008)
PPT
Crysis Next-Gen Effects (GDC 2008)
A Bit More Deferred Cry Engine3
PPT
A Bit More Deferred Cry Engine3
Floodplain Modeling with LiDAR-Derived Terrain
PPT
Floodplain Modeling with LiDAR-Derived Terrain
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
PPT
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Authoring of procedural rocks in The Blacksmith realtime short
Authoring of procedural rocks in The Blacksmith realtime short
Rendering Tech of Space Marine
Rendering Tech of Space Marine
GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
FV_IGARSS11.ppt
FV_IGARSS11.ppt
FV_IGARSS11.ppt
FV_IGARSS11.ppt
FV_IGARSS11.ppt
FV_IGARSS11.ppt
FV_IGARSS11.ppt
FV_IGARSS11.ppt
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance Fields
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)
Light prepass
Light prepass
Terra formation control or how to move mountains
Terra formation control or how to move mountains
Icaros Photogrammetric Suite (IPS) Workflow
Icaros Photogrammetric Suite (IPS) Workflow
Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphics
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
A Bit More Deferred Cry Engine3
A Bit More Deferred Cry Engine3
Floodplain Modeling with LiDAR-Derived Terrain
Floodplain Modeling with LiDAR-Derived Terrain
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...

Recently uploaded

Cloud and internet-of-things secure integration along with security concerns
PDF
Cloud and internet-of-things secure integration along with security concerns
Manage VMs on Kubernetes - Introduction to KubeVirt - Meetup MUC 10.2025
PDF
Manage VMs on Kubernetes - Introduction to KubeVirt - Meetup MUC 10.2025
Unit 3 DS - Distributed Data Storage and Retrieval - PowerPoint Content.pdf
PDF
Unit 3 DS - Distributed Data Storage and Retrieval - PowerPoint Content.pdf
Supercharge your JVM performance with Project Leyden and Spring Boot
PDF
Supercharge your JVM performance with Project Leyden and Spring Boot
Session 2 - Specialized AI Associate Series: Orchestrator Deep-Dive and UiPa...
PDF
Session 2 - Specialized AI Associate Series: Orchestrator Deep-Dive and UiPa...
Building Europe with Open LLMs - Manu Setälä.pptx
PPTX
Building Europe with Open LLMs - Manu Setälä.pptx
Certified Kubernetes Security Specialist (CKS): Unit 5
PDF
Certified Kubernetes Security Specialist (CKS): Unit 5
Session 1 - Specialized AI Associate Series: Essential Studio Automation Fea...
PDF
Session 1 - Specialized AI Associate Series: Essential Studio Automation Fea...
Comprehensive Analysis of OpenAI's Strategic Transformation at DevDay 2025.pdf
PDF
Comprehensive Analysis of OpenAI's Strategic Transformation at DevDay 2025.pdf
A Guide to Microsoft Azure's Scalable and Secure Cloud Solutions
PDF
A Guide to Microsoft Azure's Scalable and Secure Cloud Solutions
Neural Networks in a Nutshell: A practical review and usage
PDF
Neural Networks in a Nutshell: A practical review and usage
Unleash the Power of Salesforce Winter ’26 Release.pdf
PDF
Unleash the Power of Salesforce Winter ’26 Release.pdf
A PROJECT ON EVOLUTION OF DNA FINGERPRINTING AND ITS TECHNOLOGY
PDF
A PROJECT ON EVOLUTION OF DNA FINGERPRINTING AND ITS TECHNOLOGY
Lightning_talk_Mojo comparision of python vs mojo performance
PPTX
Lightning_talk_Mojo comparision of python vs mojo performance
Google Cloud Quest : An introductory training session on how to solve Google ...
PPTX
Google Cloud Quest : An introductory training session on how to solve Google ...
A business case for open source: From lock-in to value.pdf
PDF
A business case for open source: From lock-in to value.pdf
Artificial Intelligence and YOU - Thinking Thoughtfully about AI
PDF
Artificial Intelligence and YOU - Thinking Thoughtfully about AI
CIDT: Blockchain, DeFi & Product Engineering - MVPs in 4 Weeks with a Senior-...
PDF
CIDT: Blockchain, DeFi & Product Engineering - MVPs in 4 Weeks with a Senior-...
"Multimodal Enterprise-scale Applications in the Generative AI Era," a Presen...
PDF
"Multimodal Enterprise-scale Applications in the Generative AI Era," a Presen...
What Are AI Agentic Workflows? Unlock the Power of AI Agents in 2025!
PDF
What Are AI Agentic Workflows? Unlock the Power of AI Agents in 2025!
Cloud and internet-of-things secure integration along with security concerns
Cloud and internet-of-things secure integration along with security concerns
Manage VMs on Kubernetes - Introduction to KubeVirt - Meetup MUC 10.2025
Manage VMs on Kubernetes - Introduction to KubeVirt - Meetup MUC 10.2025
Unit 3 DS - Distributed Data Storage and Retrieval - PowerPoint Content.pdf
Unit 3 DS - Distributed Data Storage and Retrieval - PowerPoint Content.pdf
Supercharge your JVM performance with Project Leyden and Spring Boot
Supercharge your JVM performance with Project Leyden and Spring Boot
Session 2 - Specialized AI Associate Series: Orchestrator Deep-Dive and UiPa...
Session 2 - Specialized AI Associate Series: Orchestrator Deep-Dive and UiPa...
Building Europe with Open LLMs - Manu Setälä.pptx
Building Europe with Open LLMs - Manu Setälä.pptx
Certified Kubernetes Security Specialist (CKS): Unit 5
Certified Kubernetes Security Specialist (CKS): Unit 5
Session 1 - Specialized AI Associate Series: Essential Studio Automation Fea...
Session 1 - Specialized AI Associate Series: Essential Studio Automation Fea...
Comprehensive Analysis of OpenAI's Strategic Transformation at DevDay 2025.pdf
Comprehensive Analysis of OpenAI's Strategic Transformation at DevDay 2025.pdf
A Guide to Microsoft Azure's Scalable and Secure Cloud Solutions
A Guide to Microsoft Azure's Scalable and Secure Cloud Solutions
Neural Networks in a Nutshell: A practical review and usage
Neural Networks in a Nutshell: A practical review and usage
Unleash the Power of Salesforce Winter ’26 Release.pdf
Unleash the Power of Salesforce Winter ’26 Release.pdf
A PROJECT ON EVOLUTION OF DNA FINGERPRINTING AND ITS TECHNOLOGY
A PROJECT ON EVOLUTION OF DNA FINGERPRINTING AND ITS TECHNOLOGY
Lightning_talk_Mojo comparision of python vs mojo performance
Lightning_talk_Mojo comparision of python vs mojo performance
Google Cloud Quest : An introductory training session on how to solve Google ...
Google Cloud Quest : An introductory training session on how to solve Google ...
A business case for open source: From lock-in to value.pdf
A business case for open source: From lock-in to value.pdf
Artificial Intelligence and YOU - Thinking Thoughtfully about AI
Artificial Intelligence and YOU - Thinking Thoughtfully about AI
CIDT: Blockchain, DeFi & Product Engineering - MVPs in 4 Weeks with a Senior-...
CIDT: Blockchain, DeFi & Product Engineering - MVPs in 4 Weeks with a Senior-...
"Multimodal Enterprise-scale Applications in the Generative AI Era," a Presen...
"Multimodal Enterprise-scale Applications in the Generative AI Era," a Presen...
What Are AI Agentic Workflows? Unlock the Power of AI Agents in 2025!
What Are AI Agentic Workflows? Unlock the Power of AI Agents in 2025!
In this document
Powered by AI

Introduction to deformable snow rendering technique in BatmanTM: Arkham Origins and agenda including motivations and Q&A.

Objectives include enhancing visuals with low memory usage and dynamic interactions like footsteps.

Comparison with prior works highlighting the lack of terrain and variable density requirements for consoles.

Runtime generation of displacement heightmaps and practical applications for consoles and PC.

Describes the process of rendering snow effects using an ankle-high frustum to generate heightmaps.

Explains runtime loop for snow surface updates and accumulation of heightmap results.

Details on material options for snow, blending techniques, and shading strategies using mapping.

Additional implementation specifics ensuring efficient memory use and rendering of snow surfaces.

Description of using DirectX 11 for detailed displacement and benefits of tessellation for snow rendering.

Performance metrics for heightmap updates and memory usage efficiencies for different platforms.

Discusses future possibilities for heightmap applications and concludes with the key benefits of the technique.

Closing remarks, acknowledgments of the team and references for further reading.

GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins

  • 1.
    Deformable Snow Rendering in BatmanTM: Arkham Origins Colin Barré-Brisebois (Lead Rendering Programmer)
  • 2.
    Agenda  Motivations  Deformable Snow くろまる Novel technique for rendering of surfaces covered with fallen deformable snow くろまる For consoles and enhanced for PC (DX11 tessellation)  Q&A
  • 5.
    Motivations  Enhance the world with dynamics of deformable snow  Three requirements: 1. Iconic visuals of deformable snow 2. Organic deformation from walking, falling, sliding, fighting and more 3. Low memory usage and low performance cost for an open world game
  • 6.
    Iconic / Organic Deformable Snow From Google Images - http://bit.ly/M7T9kV (footsteps in snow, left) and http://bit.ly/M7TbJB (snow angel, right)
  • 7.
    Previous Work? [St-Amour 2013] (Assassin’s Creed 3) [Edwards 2012] (Journey)  Raycast on a terrain / Modify terrain mesh. - We don’t have terrain. We have rooftops and streets. - Besides, we don’t want to add raycasts.  Requires variable triangle density for visually convincing vertex displacement in all cases - PC DX11 with tessellation is great... but what about consoles? 
  • 8.
    Our Approach (1/)  Generate displacement heightmaps at runtime くろまる Snow prints are a semi-low frequency detail effect くろまる Cheap approximation works with footsteps & more くろまる Great performance, and low memory usage  Consoles: virtual displacement via Relief Mapping くろまる Minimal taps. No "swimming" くろまる Independent of triangle density  PC: DirectX 11 version with tessellation
  • 9.
    Our Approach (2/)  Gotham has many rooftops and streets  Dynamically alloc/dealloc heightmaps based on size, player/AIs and visibility Heightmaps
  • 10.
  • 11.
  • 12.
     Render snow-affecting objects looking from under the surface using an ankle-high orthogonal frustum 1. Clear to black 2. Render actors in white 3. Filter and accumulate (ping/pong) in a texture  Anything in that zone will affect the heightmap (feet, hands, sliding, throwing a thug to the ground...) Generating the Heightmap ?
  • 13.
  • 17.
    Let’s see what it looks like at runtime!
  • 18.
    Update Loop For every active* snow surface 1. Figure out if surface-affecting object is on the surface -We use a quad tree look-up rather than keeping an actor list for each surface 2. Override materials on all parts - Simple white material 3. Render actors 4. Process/Accumulate with custom post-process chain
  • 19.
    Heightmap Accumulation & Render  Stage 1 – Get results & small blur くろまる 4-tap bilinear Poisson  Stage 2 – Add to existing heightmap くろまる During this stage, you can also subtract a small value to the heightmap to make snow gradually replenish (since it’s snowing)   Stage 3 – Shading
  • 20.
    Stage 3 - Shading (1/)  Snow surfaces have 2 material options 1. Basic Snow Material o Active when surface is not being deformed o Shows new / clean / untouched snow, cheaper 2. Deformable Snow Material o Two stages: non-deformed or fully flattened snow o Non-deformed part the same as Basic Snow Material o Fully flattened shows rooftop tiles / concrete. o Blends both stages using heightmap & Relief Mapping
  • 21.
    Stage 3 - Shading (2/) Non-deformed Snow Flattened Snow
  • 22.
    Stage 3 - Shading (3/)  Blending Material Stages くろまる For diffuse & spec, simple lerp o Also, tint diffuse with sky color in transition area to fake SSS くろまる For normals, blend using Reoriented Normal Mapping [Barré-Brisebois & Hill 2012] o Normals are not colors. o You can’t lerp/overlay between directions! o Used in game to: くろまる Blend the snow detail normal and the macro "wave" snow normal くろまる Add detail normal maps everywhere
  • 23.
    Stage 3 - Shading (4/) float3 t = tex2D(BaseNormal, uv) * float3(2, 2, 2) + float3(-1, -1, 0); float3 u = tex2D(DetailNormal, uv) * float3(-2, -2, 2) + float3(1, 1, -1); float3 r = t * dot(t, u) / t.z – u; [Barré-Brisebois & Hill 2012]
  • 24.
  • 25.
  • 26.
    [Barré-Brisebois & Hill 2012] Reoriented Normal Mapping
  • 27.
    Add. Implementation Details (1/)  Surface UVs align with ortho frustum くろまる 0-1 range, simplifies heightmap-to-displacement  Scaled world-space heightmap res. くろまる Min(512, 1⁄4 * (SurfaceX, SurfaceY)) くろまる Tries to keep texels "square" くろまる Doesn’t need to be high-res, looks better in lower resolutions くろまる Must scale Relief Mapping parameters
  • 28.
    Add. Implementation Details (2/)  Split render & tick of active surfaces くろまる Snow surface where Batman stands has priority くろまる Only render 2 surfaces/frame (tweakable but good enough, with distance-based priorities)  Reuse memory from old heightmaps くろまる Not active/visible (max distance from sphere bounds) くろまる Un-streamed open-world zones
  • 29.
    DirectX 11 With Tessellation (1/)  Feature developed with our friends @ NVIDIA (Evgeny Makarov)  Accurate displacement based on depth くろまる Capture the height field like a z-buffer くろまる Two channels: o Minimum height field o Projected displacement くろまる Allows for additive capture & smoother results. くろまる Also allows for deformable snow banks! 
  • 30.
    Rooftop Minimum Height field Orthogonal Capture Frustum Projected Displacement Final Surface (displaced) DirectX 11 With Tessellation (2/)
  • 31.
    DirectX 11 With Tessellation (3/)  Tessellated version adds detailed displacement calculated from the normal map, globally applied to the snow surface くろまる Extra detail compared to the relief-mapped version くろまる Takes the macro normal map to add additional "macro waves"
  • 32.
    Without Tessellation (No Macro Deformation)
  • 33.
  • 34.
    DirectX 11 With Tessellation (4/)  Runtime dicing of snow meshes  Real geometry means: くろまる Works with Dynamic Shadows o Character shadows now follows the surface and shift with the deformation o Self shadowing & self-shading くろまる Works with dynamic ambient occlusion o AO fills-in the trails
  • 36.
    Performance & Memory  Performance くろまる Heightmaps update < 1.0ms GPU on PS3/360  Memory くろまる 2 MB (360 / PS3 / WiiU) o Since we’re using low resolution heightmaps o This is flexible, but sufficient for our needs since we allocate/deallocate as the player flies in the world くろまる 2-4 MB (FP16 vs FP32 on PC)
  • 37.
    Caveats / Issues ?  Relief-Mapped Approach くろまる Deformation looks great, but will never be as thick as tessellation. Replace with Parallax Occlusion Mapping? くろまる Derive parametric AO from the heightmap?  Tessellated Approach くろまる When artists were working on content creation, displacement wasn't taken into account (pre-pass actors, open edges being visible, etc...) くろまる Some meshes couldn't use tessellation as there were parts of geometry right under the snow, not supposed to be visible
  • 38.
    Future Endeavours...  Save the heightmaps and reload them?  Use this technique for other cases, such as sand, mud, etc...
  • 39.
    Summary  A fast and low-memory footprint technique to render deformable snow surfaces くろまる Adds a really nice level of interaction between players and the world くろまる Depics iconic & organic visuals of deformable snow  A good tessellation case for your DX11 game using minimal editing and art tweaks
  • 40.
    Thank You! Érick Bilodeau David Massicotte Sébastien Turcotte Jimmy Béliveau Olivier Pomarez Philippe Bernard Ryan Lewis Marc Bouchard Jean-Noé Morissette Pierric Gimmig Patrick Dubuc Reid Schneider Maggy Larouche Miguel Sainz Evgeny Makarov Jon Jansen Christina Coffin Jon Greenberg NVIDIA Questions? colin.barrebrisebois@wbgames.com / @ZigguratVertigo
  • 41.
  • 42.
    References [Barré-Brisebois & Hill 2012] Barré-Brisebois, Colin and Hill, Stephen. "Blending in Detail - Reoriented Normal Mapping", 2012. http://bit.ly/Mf2UH0 [Edwards 2013] Edwards, John. "Sand Rendering in Journey", Advances in Real-Time Rendering, SIGGRAPH, 2012. http://advances.realtimerendering.com/s2012/index.html [Policarpo & Oliveira 2006] Policarpo, Fabio and Oliveira, Manuel M. Rendering Surface Details in Games with Relief Mapping Using a Minimally Invasive Approach. In:Wolfgang Engel (ed.). SHADER X4: Lighting & Rendering. Charles River Media, Inc., Hingham, Massachusetts, 2006 (ISBN 1-58450-425-0), pp. 109-119. [St-Amour 2013] St-Amour, Jean-François. "Rendering Assassin's Creed", Game Developers Conference, 2013.

AltStyle によって変換されたページ (->オリジナル) /