SlideShare a Scribd company logo
Deformable Snow
Rendering in Batman™: 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
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
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
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
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, ¼ * (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
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
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

PPT
Crysis Next-Gen Effects (GDC 2008)
PDF
Graphics Gems from CryENGINE 3 (Siggraph 2013)
PPTX
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
PPT
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
PDF
Rendering Tech of Space Marine
PPT
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
PPTX
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
PDF
Lighting of Killzone: Shadow Fall
Crysis Next-Gen Effects (GDC 2008)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Rendering Tech of Space Marine
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Lighting of Killzone: Shadow Fall

What's hot (20)

PPTX
Stochastic Screen-Space Reflections
PDF
Volumetric Lighting for Many Lights in Lords of the Fallen
PPTX
Optimizing the Graphics Pipeline with Compute, GDC 2016
PDF
Screen Space Reflections in The Surge
PPTX
Calibrating Lighting and Materials in Far Cry 3
PPTX
Rendering Technologies from Crysis 3 (GDC 2013)
PPTX
A Scalable Real-Time Many-Shadowed-Light Rendering System
KEY
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
PPTX
Hable John Uncharted2 Hdr Lighting
PDF
[Kgc2012] deferred forward 이창희
PPTX
Terrain in Battlefield 3: A Modern, Complete and Scalable System
PPT
Star Ocean 4 - Flexible Shader Managment and Post-processing
PDF
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
PPTX
Moving Frostbite to Physically Based Rendering
PPTX
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
PPTX
A Real-time Radiosity Architecture
PDF
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
PPT
A Bit More Deferred Cry Engine3
PPSX
Advancements in-tiled-rendering
PDF
Screen Space Decals in Warhammer 40,000: Space Marine
Stochastic Screen-Space Reflections
Volumetric Lighting for Many Lights in Lords of the Fallen
Optimizing the Graphics Pipeline with Compute, GDC 2016
Screen Space Reflections in The Surge
Calibrating Lighting and Materials in Far Cry 3
Rendering Technologies from Crysis 3 (GDC 2013)
A Scalable Real-Time Many-Shadowed-Light Rendering System
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Hable John Uncharted2 Hdr Lighting
[Kgc2012] deferred forward 이창희
Terrain in Battlefield 3: A Modern, Complete and Scalable System
Star Ocean 4 - Flexible Shader Managment and Post-processing
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
Moving Frostbite to Physically Based Rendering
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
A Real-time Radiosity Architecture
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
A Bit More Deferred Cry Engine3
Advancements in-tiled-rendering
Screen Space Decals in Warhammer 40,000: Space Marine
Ad

Viewers also liked (20)

PDF
Naughty Dog Vertex
PDF
Uncharted 2: Character Pipeline
PPTX
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
PPTX
Modular Rigging in Battlefield 3
PDF
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
PDF
State-Based Scripting in Uncharted 2: Among Thieves
PDF
Uncharted Animation Workflow
PPTX
Ant man
PPTX
Mcguireday ancient civilizations pathfinder
PDF
Future Forum 2013 - Bes fvg
PDF
Resident evil 3 nemesis
PDF
El increible hulk
PPTX
Justice League of America
PDF
Marvel Guide For Developers
TXT
Torrent downloaded from rarbg.com
PPT
Alexis superman report
PPTX
The joker
PPT
PPTX
Captain America: Civil war
PPTX
The Avengers
Naughty Dog Vertex
Uncharted 2: Character Pipeline
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
Modular Rigging in Battlefield 3
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
State-Based Scripting in Uncharted 2: Among Thieves
Uncharted Animation Workflow
Ant man
Mcguireday ancient civilizations pathfinder
Future Forum 2013 - Bes fvg
Resident evil 3 nemesis
El increible hulk
Justice League of America
Marvel Guide For Developers
Torrent downloaded from rarbg.com
Alexis superman report
The joker
Captain America: Civil war
The Avengers
Ad

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

PPTX
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
PDF
Authoring of procedural rocks in The Blacksmith realtime short
PPT
GDC 2012: Advanced Procedural Rendering in DX11
PDF
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
PPT
FV_IGARSS11.ppt
PPT
FV_IGARSS11.ppt
PPT
FV_IGARSS11.ppt
PPT
FV_IGARSS11.ppt
PPT
Destruction Masking in Frostbite 2 using Volume Distance Fields
PPT
Light prepass
PDF
Terra formation control or how to move mountains
PPTX
Icaros Photogrammetric Suite (IPS) Workflow
PDF
Smedberg niklas bringing_aaa_graphics
PPT
Floodplain Modeling with LiDAR-Derived Terrain
PPTX
DirectX 11 Rendering in Battlefield 3
PPT
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
PPT
Advanced Lighting for Interactive Applications
PDF
Ice: lightweight, efficient rendering for remote sensing images
 
PPTX
The Rendering Pipeline - Challenges & Next Steps
PDF
Advanced Scenegraph Rendering Pipeline
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
Authoring of procedural rocks in The Blacksmith realtime short
GDC 2012: Advanced Procedural Rendering in DX11
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
FV_IGARSS11.ppt
FV_IGARSS11.ppt
FV_IGARSS11.ppt
FV_IGARSS11.ppt
Destruction Masking in Frostbite 2 using Volume Distance Fields
Light prepass
Terra formation control or how to move mountains
Icaros Photogrammetric Suite (IPS) Workflow
Smedberg niklas bringing_aaa_graphics
Floodplain Modeling with LiDAR-Derived Terrain
DirectX 11 Rendering in Battlefield 3
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
Advanced Lighting for Interactive Applications
Ice: lightweight, efficient rendering for remote sensing images
 
The Rendering Pipeline - Challenges & Next Steps
Advanced Scenegraph Rendering Pipeline

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
Teaching material agriculture food technology
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Building Integrated photovoltaic BIPV_UPV.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MYSQL Presentation for SQL database connectivity
Network Security Unit 5.pdf for BCA BBA.
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Weekly Chronicles - August'25 Week I
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation_ Review paper, used for researhc scholars
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
NewMind AI Monthly Chronicles - July 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Dropbox Q2 2025 Financial Results & Investor Presentation
Chapter 3 Spatial Domain Image Processing.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Teaching material agriculture food technology

GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins

  • 1. Deformable Snow Rendering in Batman™: 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
  • 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 ?
  • 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]
  • 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, ¼ * (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. With Tessellation (Macro Deformation)
  • 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
  • 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.