[フレーム]

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

An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
PDF
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
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
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...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
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
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...
Snow accumulation and ge neration
PPTX
Snow accumulation and ge neration
Tessellation on any_budget-gdc2011
PPT
Tessellation on any_budget-gdc2011
Rendering Technologies from Crysis 3 (GDC 2013)
PPTX
Rendering Technologies from Crysis 3 (GDC 2013)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
PPT
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Lighting you up in Battlefield 3
PDF
Lighting you up in Battlefield 3
reflective bump environment mappings.pdf
PDF
reflective bump environment mappings.pdf
The Technology behind Shadow Warrior, ZTG 2014
PPTX
The Technology behind Shadow Warrior, ZTG 2014
Introduction occlusion
PDF
Introduction occlusion
Shadow Techniques for Real-Time and Interactive Applications
PPT
Shadow Techniques for Real-Time and Interactive Applications
Normal Mapping / Computer Graphics - IK
PPTX
Normal Mapping / Computer Graphics - IK
Normal mapping
PDF
Normal mapping
3 d video streaming for virtual exploration of planet surface
PDF
3 d video streaming for virtual exploration of planet surface
Edge detection-based post-processing in Warlords of Draenor
PDF
Edge detection-based post-processing in Warlords of Draenor
Report On 3D Max
PDF
Report On 3D Max
GRPHICS07 - Textures
PPT
GRPHICS07 - Textures
Anatomy of a Texture Fetch
PPT
Anatomy of a Texture Fetch
A Scalable Real-Time Many-Shadowed-Light Rendering System
PPTX
A Scalable Real-Time Many-Shadowed-Light Rendering System
Computer graphics notes
PDF
Computer graphics notes
Gdc11 lighting used in BF3
PDF
Gdc11 lighting used in BF3
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
Snow accumulation and ge neration
Snow accumulation and ge neration
Tessellation on any_budget-gdc2011
Tessellation on any_budget-gdc2011
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Lighting you up in Battlefield 3
Lighting you up in Battlefield 3
reflective bump environment mappings.pdf
reflective bump environment mappings.pdf
The Technology behind Shadow Warrior, ZTG 2014
The Technology behind Shadow Warrior, ZTG 2014
Introduction occlusion
Introduction occlusion
Shadow Techniques for Real-Time and Interactive Applications
Shadow Techniques for Real-Time and Interactive Applications
Normal Mapping / Computer Graphics - IK
Normal Mapping / Computer Graphics - IK
Normal mapping
Normal mapping
3 d video streaming for virtual exploration of planet surface
3 d video streaming for virtual exploration of planet surface
Edge detection-based post-processing in Warlords of Draenor
Edge detection-based post-processing in Warlords of Draenor
Report On 3D Max
Report On 3D Max
GRPHICS07 - Textures
GRPHICS07 - Textures
Anatomy of a Texture Fetch
Anatomy of a Texture Fetch
A Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering System
Computer graphics notes
Computer graphics notes
Gdc11 lighting used in BF3
Gdc11 lighting used in BF3

Recently uploaded

UiPath Platform: Architecture & Context [1/3]
PPTX
UiPath Platform: Architecture & Context [1/3]
Ultimate B2B Travel API Integration for Skyrocket Bookings
PDF
Ultimate B2B Travel API Integration for Skyrocket Bookings
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 ...
Writing GPU-Ready AI Models in Pure Java with Babylon
PDF
Writing GPU-Ready AI Models in Pure Java with Babylon
NeuroXR: Current Research and Opportunities
PDF
NeuroXR: Current Research and Opportunities
What Is Agentic AI and How Is It Transforming ERP Systems?
PDF
What Is Agentic AI and How Is It Transforming ERP Systems?
Artificial Intelligence and YOU - Thinking Thoughtfully about AI
PDF
Artificial Intelligence and YOU - Thinking Thoughtfully about AI
Building Europe with Open LLMs - Manu Setälä.pptx
PPTX
Building Europe with Open LLMs - Manu Setälä.pptx
Manage VMs on Kubernetes - Introduction to KubeVirt - Meetup MUC 10.2025
PDF
Manage VMs on Kubernetes - Introduction to KubeVirt - Meetup MUC 10.2025
⚡Level Up Your Slack Game: Workflows & Conditional Branching🎉
PPTX
⚡Level Up Your Slack Game: Workflows & Conditional Branching🎉
Top 10+ Ajax Development Companies in France
PDF
Top 10+ Ajax Development Companies in France
A Guide to Microsoft Azure's Scalable and Secure Cloud Solutions
PDF
A Guide to Microsoft Azure's Scalable and Secure Cloud Solutions
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!
Master Deck: GraphSummit Bengaluru (Oct 7)
PDF
Master Deck: GraphSummit Bengaluru (Oct 7)
Behind the Scenes at Netflix: Distributed Systems & NoSQL Architecture.
PPTX
Behind the Scenes at Netflix: Distributed Systems & NoSQL Architecture.
Unit 3 DS - Distributed Data Storage and Retrieval - PowerPoint Content.pdf
PDF
Unit 3 DS - Distributed Data Storage and Retrieval - PowerPoint Content.pdf
A PROJECT ON EVOLUTION OF DNA FINGERPRINTING AND ITS TECHNOLOGY
PDF
A PROJECT ON EVOLUTION OF DNA FINGERPRINTING AND ITS TECHNOLOGY
Redefining HR Content Creation: Job Description Automation with UiPath's Agen...
PDF
Redefining HR Content Creation: Job Description Automation with UiPath's Agen...
sap 2016年09月14日_PP_MRPType_VB_Blogged.pptx
PPTX
sap 2016年09月14日_PP_MRPType_VB_Blogged.pptx
Neural Networks in a Nutshell: A practical review and usage
PDF
Neural Networks in a Nutshell: A practical review and usage
UiPath Platform: Architecture & Context [1/3]
UiPath Platform: Architecture & Context [1/3]
Ultimate B2B Travel API Integration for Skyrocket Bookings
Ultimate B2B Travel API Integration for Skyrocket Bookings
Google Cloud Quest : An introductory training session on how to solve Google ...
Google Cloud Quest : An introductory training session on how to solve Google ...
Writing GPU-Ready AI Models in Pure Java with Babylon
Writing GPU-Ready AI Models in Pure Java with Babylon
NeuroXR: Current Research and Opportunities
NeuroXR: Current Research and Opportunities
What Is Agentic AI and How Is It Transforming ERP Systems?
What Is Agentic AI and How Is It Transforming ERP Systems?
Artificial Intelligence and YOU - Thinking Thoughtfully about AI
Artificial Intelligence and YOU - Thinking Thoughtfully about AI
Building Europe with Open LLMs - Manu Setälä.pptx
Building Europe with Open LLMs - Manu Setälä.pptx
Manage VMs on Kubernetes - Introduction to KubeVirt - Meetup MUC 10.2025
Manage VMs on Kubernetes - Introduction to KubeVirt - Meetup MUC 10.2025
⚡Level Up Your Slack Game: Workflows & Conditional Branching🎉
⚡Level Up Your Slack Game: Workflows & Conditional Branching🎉
Top 10+ Ajax Development Companies in France
Top 10+ Ajax Development Companies in France
A Guide to Microsoft Azure's Scalable and Secure Cloud Solutions
A Guide to Microsoft Azure's Scalable and Secure Cloud Solutions
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!
Master Deck: GraphSummit Bengaluru (Oct 7)
Master Deck: GraphSummit Bengaluru (Oct 7)
Behind the Scenes at Netflix: Distributed Systems & NoSQL Architecture.
Behind the Scenes at Netflix: Distributed Systems & NoSQL Architecture.
Unit 3 DS - Distributed Data Storage and Retrieval - PowerPoint Content.pdf
Unit 3 DS - Distributed Data Storage and Retrieval - PowerPoint Content.pdf
A PROJECT ON EVOLUTION OF DNA FINGERPRINTING AND ITS TECHNOLOGY
A PROJECT ON EVOLUTION OF DNA FINGERPRINTING AND ITS TECHNOLOGY
Redefining HR Content Creation: Job Description Automation with UiPath's Agen...
Redefining HR Content Creation: Job Description Automation with UiPath's Agen...
sap 2016年09月14日_PP_MRPType_VB_Blogged.pptx
sap 2016年09月14日_PP_MRPType_VB_Blogged.pptx
Neural Networks in a Nutshell: A practical review and usage
Neural Networks in a Nutshell: A practical review and usage
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 によって変換されたページ (->オリジナル) /