SlideShare uma empresa Scribd logo
1 de 43
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
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, ¼ * (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

Mais conteúdo relacionado

Mais procurados

Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipelinechangehee lee
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsElectronic Arts / DICE
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14AMD Developer Central
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingElectronic Arts / DICE
 
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...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...Electronic Arts / DICE
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbiteElectronic Arts / DICE
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The SurgeMichele Giacalone
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenBenjamin Glatzel
 
OpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesOpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesNarann29
 
Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Lukas Lang
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3guest11b095
 
Crysis 2-key-rendering-features
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-featuresRaimundo Renato
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Tiago Sousa
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Ki Hyunwoo
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteElectronic Arts / DICE
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbiteElectronic Arts / DICE
 

Mais procurados (20)

Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
 
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...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...
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the Fallen
 
OpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesOpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering Techniques
 
Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
 
Crysis 2-key-rendering-features
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-features
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 

Destaque

Naughty Dog Vertex
Naughty Dog VertexNaughty Dog Vertex
Naughty Dog VertexNaughty Dog
 
Uncharted 2: Character Pipeline
Uncharted 2: Character PipelineUncharted 2: Character Pipeline
Uncharted 2: Character PipelineNaughty Dog
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsColin Barré-Brisebois
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barré-Brisebois
 
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15Jarosław Pleskot
 
State-Based Scripting in Uncharted 2: Among Thieves
State-Based Scripting in Uncharted 2: Among ThievesState-Based Scripting in Uncharted 2: Among Thieves
State-Based Scripting in Uncharted 2: Among ThievesNaughty Dog
 
Terrain in Battlefield 3: A Modern, Complete and Scalable System
Terrain in Battlefield 3: A Modern, Complete and Scalable SystemTerrain in Battlefield 3: A Modern, Complete and Scalable System
Terrain in Battlefield 3: A Modern, Complete and Scalable SystemElectronic Arts / DICE
 
Uncharted Animation Workflow
Uncharted Animation WorkflowUncharted Animation Workflow
Uncharted Animation WorkflowNaughty Dog
 
Mcguireday ancient civilizations pathfinder
Mcguireday ancient civilizations pathfinderMcguireday ancient civilizations pathfinder
Mcguireday ancient civilizations pathfinderjacquimday
 
Resident evil 3 nemesis
Resident evil 3 nemesisResident evil 3 nemesis
Resident evil 3 nemesisInvaderMG
 
El increible hulk
El increible hulkEl increible hulk
El increible hulkInvaderMG
 
Justice League of America
Justice League of AmericaJustice League of America
Justice League of AmericaTony Shane
 
Torrent downloaded from rarbg.com
Torrent downloaded from rarbg.comTorrent downloaded from rarbg.com
Torrent downloaded from rarbg.comlehani
 
Alexis superman report
Alexis superman reportAlexis superman report
Alexis superman reportSusie Johnson
 

Destaque (20)

Naughty Dog Vertex
Naughty Dog VertexNaughty Dog Vertex
Naughty Dog Vertex
 
Uncharted 2: Character Pipeline
Uncharted 2: Character PipelineUncharted 2: Character Pipeline
Uncharted 2: Character Pipeline
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...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 3Modular 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, GIC15Shadow 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 ThievesState-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 SystemTerrain in Battlefield 3: A Modern, Complete and Scalable System
Terrain in Battlefield 3: A Modern, Complete and Scalable System
 
Uncharted Animation Workflow
Uncharted Animation WorkflowUncharted Animation Workflow
Uncharted Animation Workflow
 
Ant man
Ant manAnt man
Ant man
 
Mcguireday ancient civilizations pathfinder
Mcguireday ancient civilizations pathfinderMcguireday ancient civilizations pathfinder
Mcguireday ancient civilizations pathfinder
 
Future Forum 2013 - Bes fvg
Future Forum 2013 - Bes fvg Future Forum 2013 - Bes fvg
Future Forum 2013 - Bes fvg
 
Resident evil 3 nemesis
Resident evil 3 nemesisResident evil 3 nemesis
Resident evil 3 nemesis
 
El increible hulk
El increible hulkEl increible hulk
El increible hulk
 
Justice League of America
Justice League of AmericaJustice League of America
Justice League of America
 
Marvel Guide For Developers
Marvel Guide For DevelopersMarvel Guide For Developers
Marvel Guide For Developers
 
Torrent downloaded from rarbg.com
Torrent downloaded from rarbg.comTorrent downloaded from rarbg.com
Torrent downloaded from rarbg.com
 
Alexis superman report
Alexis superman reportAlexis superman report
Alexis superman report
 
The joker
The jokerThe joker
The joker
 
Batman
BatmanBatman
Batman
 

Semelhante a GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins

Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...Daniel Barrero
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
 
Authoring of procedural rocks in The Blacksmith realtime short
Authoring of procedural rocks in The Blacksmith realtime shortAuthoring of procedural rocks in The Blacksmith realtime short
Authoring of procedural rocks in The Blacksmith realtime shortVesselin Efremov
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space MarinePope Kim
 
GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11smashflt
 
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D streamColor and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D streamNAVER Engineering
 
FV_IGARSS11.ppt
FV_IGARSS11.pptFV_IGARSS11.ppt
FV_IGARSS11.pptgrssieee
 
FV_IGARSS11.ppt
FV_IGARSS11.pptFV_IGARSS11.ppt
FV_IGARSS11.pptgrssieee
 
FV_IGARSS11.ppt
FV_IGARSS11.pptFV_IGARSS11.ppt
FV_IGARSS11.pptgrssieee
 
FV_IGARSS11.ppt
FV_IGARSS11.pptFV_IGARSS11.ppt
FV_IGARSS11.pptgrssieee
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsElectronic Arts / DICE
 
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Tiago Sousa
 
Terra formation control or how to move mountains
Terra formation control or how to move mountainsTerra formation control or how to move mountains
Terra formation control or how to move mountainsijcga
 
Icaros Photogrammetric Suite (IPS) Workflow
Icaros Photogrammetric Suite (IPS) WorkflowIcaros Photogrammetric Suite (IPS) Workflow
Icaros Photogrammetric Suite (IPS) WorkflowIcarosMapping
 
Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicschangehee lee
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Tiago Sousa
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...Johan Andersson
 
Advanced Lighting for Interactive Applications
Advanced Lighting for Interactive ApplicationsAdvanced Lighting for Interactive Applications
Advanced Lighting for Interactive Applicationsstefan_b
 
Ice: lightweight, efficient rendering for remote sensing images
Ice: lightweight, efficient rendering for remote sensing imagesIce: lightweight, efficient rendering for remote sensing images
Ice: lightweight, efficient rendering for remote sensing imagesotb
 

Semelhante a GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins (20)

Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...
Company of Heroes 2 (COH2) Rendering Technology: The cold facts of recreating...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)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 shortAuthoring 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 MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
 
GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11GDC 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 streamColor 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.pptFV_IGARSS11.ppt
FV_IGARSS11.ppt
 
FV_IGARSS11.ppt
FV_IGARSS11.pptFV_IGARSS11.ppt
FV_IGARSS11.ppt
 
FV_IGARSS11.ppt
FV_IGARSS11.pptFV_IGARSS11.ppt
FV_IGARSS11.ppt
 
FV_IGARSS11.ppt
FV_IGARSS11.pptFV_IGARSS11.ppt
FV_IGARSS11.ppt
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction 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)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)
 
Terra formation control or how to move mountains
Terra formation control or how to move mountainsTerra formation control or how to move mountains
Terra formation control or how to move mountains
 
Icaros Photogrammetric Suite (IPS) Workflow
Icaros Photogrammetric Suite (IPS) WorkflowIcaros Photogrammetric Suite (IPS) Workflow
Icaros Photogrammetric Suite (IPS) Workflow
 
Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphics
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
Floodplain Modeling with LiDAR-Derived Terrain
Floodplain Modeling with LiDAR-Derived TerrainFloodplain 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 ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
 
Advanced Lighting for Interactive Applications
Advanced Lighting for Interactive ApplicationsAdvanced Lighting for Interactive Applications
Advanced Lighting for Interactive Applications
 
Ice: lightweight, efficient rendering for remote sensing images
Ice: lightweight, efficient rendering for remote sensing imagesIce: lightweight, efficient rendering for remote sensing images
Ice: lightweight, efficient rendering for remote sensing images
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

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
  • 3.
  • 4.
  • 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 ?
  • 14.
  • 15.
  • 16.
  • 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
  • 35.
  • 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.