SlideShare a Scribd company logo
1 of 66
DirectX 11 Rendering &
NVIDIA GameWorks in Batman: Arkham Origins
Colin Barré-Brisebois (Lead Rendering Programmer)
AGENDA
PREFACE
 Motivations
PART 1–DEFORMABLE SNOW
Excerpts from GDC 2014
 Novel technique for
surfaces covered with fallen
deformable snow
 Enhanced for PC using DX11
PART 2–CHROMA SUBSAMPLING
 Various pipeline enhancements
PART 3–NVIDIA GAMEWORKS
 Enhanced game features
using NVIDIA GameWorks
[Barré-Brisebois 2014]
[Barré-Brisebois 2014]
PART 1
DEFORMABLE SNOW RENDERING
Deformable Snow Surfaces
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
[Barré-Brisebois 2014]
Iconic & Organic Deformable Snow
From Google Images - http://bit.ly/M7T9kV (footsteps in snow, left) and http://bit.ly/M7TbJB (snow angel, right)
[Barré-Brisebois 2014]
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?
[Barré-Brisebois 2014]
Our Approach (1/)
 GENERATE DISPLACEMENT HEIGHTMAPS AT RUNTIME
 Snow deformation is 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
[Barré-Brisebois 2014]
Our Approach (2/)
 GOTHAM HAS MANY ROOFTOPS AND STREETS
 Dynamically alloc/dealloc heightmaps based on size, player/AIs
and visibility
Heightmaps
[Barré-Brisebois 2014]
Feet
Cape
[Barré-Brisebois 2014]
Feet
Cape
[Barré-Brisebois 2014]
 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
1. Feet, hands
2. Sliding, throwing a thug to the ground…
Generating the Heightmap ?
[Barré-Brisebois 2014]
Ankle-high Orthogonal Frustum
[Barré-Brisebois 2014]
[Barré-Brisebois 2014]
[Barré-Brisebois 2014]
[Barré-Brisebois 2014]
Video!
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
[Barré-Brisebois 2014]
 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
[Barré-Brisebois 2014]
Heightmap Accumulation & Render
Stage 3 - Shading (1/)
 SNOW SURFACES HAVE 2 MATERIAL OPTIONS:
1. Basic Snow Material
 Active when surface is not being deformed
 Shows new / clean / untouched snow, cheaper
2. Deformable Snow Material
 Two stages: non-deformed or fully flattened snow
 Non-deformed part the same as Basic Snow Material
 Fully flattened shows rooftop tiles / concrete.
 Blends both stages using heightmap & Relief Mapping
[Barré-Brisebois 2014]
Stage 3 - Shading (2/)
Non-deformed Snow
Flattened Snow
[Barré-Brisebois 2014]
Stage 3 - Shading (3/)
[Barré-Brisebois 2014]
 BLENDING MATERIAL STAGES
 For diffuse & spec, simple lerp
 Also, tint diffuse with sky color in transition area to fake SSS
 For normals, blend using Reoriented Normal Mapping
[Barré-Brisebois & Hill 2012]
 Normals are not colors.
 You can’t lerp/overlay between directions!
 Used in game to:
 Blend the snow detail normal and the macro “wave” snow normal
 Add detail normal maps everywhere
Stage 4 – 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]
REORIENTED NORMAL MAPPING
[Barré-Brisebois 2014]
LINEAR INTERPOLATION
Overlay
[Barré-Brisebois 2014]
OVERLAY BLEND
REORIENTED NORMAL MAPPING
ADOBE, PLEASE ADD TO PHOTOSHOP!
[Barré-Brisebois & Hill 2012]
Add. Implementation Details
 SURFACE UV 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
 SPLIT RENDER & TICK OF ACTIVE SURFACES
 Snow surface where Batman stands has priority
 We only render 2 surfaces/frame (tweakable, distance-based)
[Barré-Brisebois 2014]
 DEVELOPED WITH OUR FRIENDS@NVIDIA (EVGENY MAKAROV)
 ACCURATE DISPLACEMENT BASED ON DEPTH
 Capture the height field like a z-buffer
 Two channels:
 Minimum height field
 Projected displacement
 Allows for additive capture, smoother results and deformable
snow banks! 
 TESSELLATED VERSION ADDS DETAILED DISPLACEMENT
CALCULATED FROM THE NORMAL MAP
 Macro deformation breaks surface uniformity
DirectX 11 With Tessellation (1/)
[Barré-Brisebois 2014]
DirectX 11 With Tessellation (2/)
Minimum Height field
Orthogonal Capture Frustum Projected Displacement
Final Surface (displaced)
Rooftop
[Barré-Brisebois 2014]
Without Tessellation (No Macro Deformation)
[Barré-Brisebois 2014]
With Tessellation (Macro Deformation)
[Barré-Brisebois 2014]
DirectX 11 With Tessellation (4/)
 RUNTIME DICING OF SNOW MESHES
 REAL GEOMETRY MEANS:
 Works with Dynamic Shadows
 Character shadows now follows the surface and shift with
the deformation
 Self shadowing & self-shading
 Works with dynamic ambient occlusion
 AO fills-in the trails
[Barré-Brisebois 2014]
[Barré-Brisebois 2014]
Performance & Memory
 PERFORMANCE
 Heightmaps update < 1.0ms GPU on PS3/360
 MEMORY
 2 MB (360 / PS3 / WiiU)
 Since we’re using low resolution heightmaps
 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)
[Barré-Brisebois 2014]
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
[Barré-Brisebois 2014]
Future Endeavors…
 Save the heightmaps and reload them?
 Use this technique for other cases, such as
sand, mud, etc…
 Improvements to slopes with the depth-based approach
[Barré-Brisebois 2014]
PART 2
CHROMA SUBSAMPLING IMPROVEMENTS
Chroma Subsampling? (1/)
 ARKHAM ORIGINS’ WORLD IS DOUBLE THE SIZE OF
ARKHAM CITY
 More data, but same amount of storage…
 USE CHROMA SUBSAMPLING
Chroma subsampling is the practice of encoding images by implementing less
resolution for chroma information than for luma information, taking
advantage of the human visual system's lower acuity for color differences
than for luminance. 1
 THIS IS NOT NEW…
 Broadcasting
 Oh, and in games too! [White and Penty 2009]
1 http://en.wikipedia.org/wiki/Chroma_subsampling
Chroma Subsampling? (2/)
Y(W, H)
COCG (W / N, H / N)
N  Your art director’s tolerance to compression (2, 4…) 
Chroma Subsampling? (3/)
 USED EXTENSIVELY ON LIGHTMAPS
 Unlike [White and Penty 2009], we used YCoCg
 Pack two luma textures together instead of 3
 Blue channel pollution from DXT1 compression
is too significant in our case when packing 3
 Improve quality by setting B channel to 0 and/or set the DXT weights
 (R=0.5, G=0.5, B=0)
 USED EXTENSIVELY ON LODS
 We have 2 (NEAR & FAR) levels of LODs, let’s compress more!
 OVERALL BETTER COMPRESSION RESULTS OVER VANILLA
DXT1 LIGHTMAPS & LODS
Chroma Subsampling? (4/)
 CHROMA SUBSAMPLING CAN BE USED EXTENSIVELY…
 We started implementing chroma frame buffer compression
 Similar to [Mavridis & Papaioannou 2012]’s
The Compact YCoCg Frame Buffer
 Didn’t make it into the final game 
 Nonetheless…
 WE SHOULD ALWAYS FIND MORE OPPORTUNITIES TO
COMPRESS MORE, ESPECIALLY WHEN IT MAKES “VISUALLY
SENSE”!
 Next time! 
PART 3
NVIDIA GAMEWORKS ENHANCEMENTS
BATMAN: ARKHAM ORIGINS
FEATURED NVIDIA TECHNOLOGY
DEPTH OF FIELD
SNOWPRINTS: TESSELATION
CONTACT-HARDENING
SHADOWS
HBAO+
BATMAN:
TXAA, HBAO+, SOFT SHADOWS,
CAPE TESSELLATION
TEARING CLOTH
ENVIRONMENTAL CLOTH PHYSX PARTICLES
TURBULENCE
BLIZZARD CONDITIONS:
TURBULENCE
VIDEO
BATMAN: ARKHAM ORIGINS
FEATURED NVIDIA TECHNOLOGY
DEPTH OF FIELD
SNOWPRINTS: TESSELATION
CONTACT-HARDENING
SHADOWS
HBAO+
BATMAN:
TXAA, HBAO+, SOFT SHADOWS,
CAPE TESSELLATION
TEARING CLOTH
ENVIRONMENTAL CLOTH PHYSX PARTICLES
TURBULENCE
BLIZZARD CONDITIONS:
TURBULENCE
HBAO+
HBAO+
HBAO+
DEPTH OF FIELD
TURBULENCE PARTICLES
PARTICLES
PARTICLES
PARTICLES
PARTICLES
PARTICLES
PARTICLE SHADOW MAPPING
CAPE TESSELLATION (1/)
CAPE TESSELLATION (2/)
4K
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
 CHROMA SUBSAMPLING FOR YOUR ART PIPELINE IS
DEFINITELY A VENUE TO CONSIDER
 HOW WE USED NVIDIA’S GAMEWORKS TO ENHANCE THE
VISUALS OF SNOW BEHIND BATMAN: ARKHAM ORIGINS
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
Louis Bavoil
Holger Gruen
Andrei Tatarinov
Andrew Burnes
Jon Greenberg
NVIDIA
Questions?
colin.barrebrisebois@wbgames.com / @ZigguratVertigo
We’re Hiring! http://www.wbgamesmontreal.com
References (1/)
[Barré-Brisebois 2014]
Barré-Brisebois, Colin. “Deformable Snow Rendering in Batman: Arkham Origins“, Game Developers
Conference, 2014.
[Barré-Brisebois & Hill 2012]
Barré-Brisebois, Colin and Hill, Stephen. "Blending in Detail - Reoriented Normal Mapping", 2012.
http://bit.ly/Mf2UH0
[Bavoil & Jansen 2013]
Bavoil, Louis and Jansen, Jon. “Particle Shadows & Cache-Efficient Post-Processing”, Game
Developers Conference, 2013.
[Edwards 2013]
Edwards, John. "Sand Rendering in Journey", Advances in Real-Time Rendering, SIGGRAPH, 2012.
[Jansen & Bavoil 2011]
Jansen, Jon and Bavoil, Louis. “Fast rendering of opacity-mapped particles using DirectX 11
tessellation and mixed resolutions”, NVIDIA SDK, February 2011.
References (2/)
[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.
[Mavridis & Papaioannou 2012]
Mavridis, Pavlos and Papaioannou, Georgios. “The Compact YCoCg Frame Buffer”, Journal of
Computer Graphics Techniques, 2012.
[St-Amour 2013]
St-Amour, Jean-François. "Rendering Assassin's Creed", Game Developers Conference, 2013.
[White & Penty 2009]
White, John and Penty, Colin. “Shooting in San Vanelona: The Visuals of Skate”, Game Developers
Conference, 2009.

More Related Content

What's hot

A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
guest11b095
 

What's hot (20)

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)
 
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...
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
OpenGL 3.2 and More
OpenGL 3.2 and MoreOpenGL 3.2 and More
OpenGL 3.2 and More
 
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
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
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
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
 
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
 
A Real-time Radiosity Architecture
A Real-time Radiosity ArchitectureA Real-time Radiosity Architecture
A Real-time Radiosity Architecture
 
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
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
 
Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2
 
Light prepass
Light prepassLight prepass
Light prepass
 

Viewers also liked

Entrepreneur
EntrepreneurEntrepreneur
Entrepreneur
deoashish
 
English Assignment
English AssignmentEnglish Assignment
English Assignment
FWilliams94
 
Masc social media pages advertisement
Masc social media pages advertisementMasc social media pages advertisement
Masc social media pages advertisement
nyse19
 
In what ways does your media product use
In what ways does your media product useIn what ways does your media product use
In what ways does your media product use
RyanGourley
 
5 mejores grupos de rock segun la revista rolling stones
5 mejores grupos de rock segun la revista rolling stones5 mejores grupos de rock segun la revista rolling stones
5 mejores grupos de rock segun la revista rolling stones
carlosasencio93
 

Viewers also liked (20)

Entrepreneurship Lessons you didn't Learn
Entrepreneurship Lessons you didn't LearnEntrepreneurship Lessons you didn't Learn
Entrepreneurship Lessons you didn't Learn
 
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham OriginsGDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
 
Entrepreneur
EntrepreneurEntrepreneur
Entrepreneur
 
10 - It3D Summit 2016 - vr technology - T.Riley - NVIDIA
10 - It3D Summit 2016 - vr technology - T.Riley - NVIDIA10 - It3D Summit 2016 - vr technology - T.Riley - NVIDIA
10 - It3D Summit 2016 - vr technology - T.Riley - NVIDIA
 
NVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and TransparencyNVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and Transparency
 
Dominic Eskofier (Nvidia) Every Millisecond Counts: How to Render Faster for ...
Dominic Eskofier (Nvidia) Every Millisecond Counts: How to Render Faster for ...Dominic Eskofier (Nvidia) Every Millisecond Counts: How to Render Faster for ...
Dominic Eskofier (Nvidia) Every Millisecond Counts: How to Render Faster for ...
 
NVIDIA Gameworks, Libraries and Tools
NVIDIA Gameworks, Libraries and ToolsNVIDIA Gameworks, Libraries and Tools
NVIDIA Gameworks, Libraries and Tools
 
Investor Day 2015: GeForce Gaming
Investor Day 2015: GeForce GamingInvestor Day 2015: GeForce Gaming
Investor Day 2015: GeForce Gaming
 
Microfunding for Tourism: Inspirational story!
Microfunding for Tourism: Inspirational story!Microfunding for Tourism: Inspirational story!
Microfunding for Tourism: Inspirational story!
 
Awnex
AwnexAwnex
Awnex
 
English Assignment
English AssignmentEnglish Assignment
English Assignment
 
Masc social media pages advertisement
Masc social media pages advertisementMasc social media pages advertisement
Masc social media pages advertisement
 
In what ways does your media product use
In what ways does your media product useIn what ways does your media product use
In what ways does your media product use
 
Retweets
RetweetsRetweets
Retweets
 
Module 6, Lesson 1
Module 6, Lesson 1Module 6, Lesson 1
Module 6, Lesson 1
 
Desch SGP
Desch SGPDesch SGP
Desch SGP
 
5 mejores grupos de rock segun la revista rolling stones
5 mejores grupos de rock segun la revista rolling stones5 mejores grupos de rock segun la revista rolling stones
5 mejores grupos de rock segun la revista rolling stones
 
我們在寫台灣之未來 2012 concise
我們在寫台灣之未來 2012 concise我們在寫台灣之未來 2012 concise
我們在寫台灣之未來 2012 concise
 
Egypt keynote
Egypt keynoteEgypt keynote
Egypt keynote
 
Monkey Light Ukraine
Monkey Light UkraineMonkey Light Ukraine
Monkey Light Ukraine
 

Similar to GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins

Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
JP Lee
 
CPU is in Focus Again! Implementing DOF on CPU.
CPU is in Focus Again! Implementing DOF on CPU.CPU is in Focus Again! Implementing DOF on CPU.
CPU is in Focus Again! Implementing DOF on CPU.
Evgeny Gorodetsky
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86
Droidcon Berlin
 
Rendering of Complex 3D Treemaps (GRAPP 2013)
Rendering of Complex 3D Treemaps (GRAPP 2013)Rendering of Complex 3D Treemaps (GRAPP 2013)
Rendering of Complex 3D Treemaps (GRAPP 2013)
Matthias Trapp
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
Frank Chao
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time Lighting
Steven Tovey
 
NVIDIA effects GDC09
NVIDIA effects GDC09NVIDIA effects GDC09
NVIDIA effects GDC09
IGDA_London
 

Similar to GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins (20)

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...
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
CPU is in Focus Again! Implementing DOF on CPU.
CPU is in Focus Again! Implementing DOF on CPU.CPU is in Focus Again! Implementing DOF on CPU.
CPU is in Focus Again! Implementing DOF on CPU.
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86
 
SPU Assisted Rendering
SPU Assisted RenderingSPU Assisted Rendering
SPU Assisted Rendering
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
 
Unreal Engine Beginner Workshop Slides
Unreal Engine Beginner Workshop SlidesUnreal Engine Beginner Workshop Slides
Unreal Engine Beginner Workshop Slides
 
Rendering of Complex 3D Treemaps (GRAPP 2013)
Rendering of Complex 3D Treemaps (GRAPP 2013)Rendering of Complex 3D Treemaps (GRAPP 2013)
Rendering of Complex 3D Treemaps (GRAPP 2013)
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time Lighting
 
Borderless Per Face Texture Mapping
Borderless Per Face Texture MappingBorderless Per Face Texture Mapping
Borderless Per Face Texture Mapping
 
SPU-based Deferred Shading for Battlefield 3 on Playstation 3
SPU-based Deferred Shading for Battlefield 3 on Playstation 3SPU-based Deferred Shading for Battlefield 3 on Playstation 3
SPU-based Deferred Shading for Battlefield 3 on Playstation 3
 
NVIDIA effects GDC09
NVIDIA effects GDC09NVIDIA effects GDC09
NVIDIA effects GDC09
 
Foveated Ray Tracing for VR on Multiple GPUs
Foveated Ray Tracing for VR on Multiple GPUsFoveated Ray Tracing for VR on Multiple GPUs
Foveated Ray Tracing for VR on Multiple GPUs
 
Ujug07presentation
Ujug07presentationUjug07presentation
Ujug07presentation
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The Surge
 
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...
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins

  • 1. DirectX 11 Rendering & NVIDIA GameWorks in Batman: Arkham Origins Colin Barré-Brisebois (Lead Rendering Programmer)
  • 2. AGENDA PREFACE  Motivations PART 1–DEFORMABLE SNOW Excerpts from GDC 2014  Novel technique for surfaces covered with fallen deformable snow  Enhanced for PC using DX11 PART 2–CHROMA SUBSAMPLING  Various pipeline enhancements PART 3–NVIDIA GAMEWORKS  Enhanced game features using NVIDIA GameWorks
  • 6. Deformable Snow Surfaces 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 [Barré-Brisebois 2014]
  • 7. Iconic & Organic Deformable Snow From Google Images - http://bit.ly/M7T9kV (footsteps in snow, left) and http://bit.ly/M7TbJB (snow angel, right) [Barré-Brisebois 2014]
  • 8. 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? [Barré-Brisebois 2014]
  • 9. Our Approach (1/)  GENERATE DISPLACEMENT HEIGHTMAPS AT RUNTIME  Snow deformation is 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 [Barré-Brisebois 2014]
  • 10. Our Approach (2/)  GOTHAM HAS MANY ROOFTOPS AND STREETS  Dynamically alloc/dealloc heightmaps based on size, player/AIs and visibility Heightmaps [Barré-Brisebois 2014]
  • 13.  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 1. Feet, hands 2. Sliding, throwing a thug to the ground… Generating the Heightmap ? [Barré-Brisebois 2014]
  • 19. 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 [Barré-Brisebois 2014]
  • 20.  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 [Barré-Brisebois 2014] Heightmap Accumulation & Render
  • 21. Stage 3 - Shading (1/)  SNOW SURFACES HAVE 2 MATERIAL OPTIONS: 1. Basic Snow Material  Active when surface is not being deformed  Shows new / clean / untouched snow, cheaper 2. Deformable Snow Material  Two stages: non-deformed or fully flattened snow  Non-deformed part the same as Basic Snow Material  Fully flattened shows rooftop tiles / concrete.  Blends both stages using heightmap & Relief Mapping [Barré-Brisebois 2014]
  • 22. Stage 3 - Shading (2/) Non-deformed Snow Flattened Snow [Barré-Brisebois 2014]
  • 23. Stage 3 - Shading (3/) [Barré-Brisebois 2014]  BLENDING MATERIAL STAGES  For diffuse & spec, simple lerp  Also, tint diffuse with sky color in transition area to fake SSS  For normals, blend using Reoriented Normal Mapping [Barré-Brisebois & Hill 2012]  Normals are not colors.  You can’t lerp/overlay between directions!  Used in game to:  Blend the snow detail normal and the macro “wave” snow normal  Add detail normal maps everywhere
  • 24. Stage 4 – 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] REORIENTED NORMAL MAPPING
  • 27. REORIENTED NORMAL MAPPING ADOBE, PLEASE ADD TO PHOTOSHOP! [Barré-Brisebois & Hill 2012]
  • 28. Add. Implementation Details  SURFACE UV 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  SPLIT RENDER & TICK OF ACTIVE SURFACES  Snow surface where Batman stands has priority  We only render 2 surfaces/frame (tweakable, distance-based) [Barré-Brisebois 2014]
  • 29.  DEVELOPED WITH OUR FRIENDS@NVIDIA (EVGENY MAKAROV)  ACCURATE DISPLACEMENT BASED ON DEPTH  Capture the height field like a z-buffer  Two channels:  Minimum height field  Projected displacement  Allows for additive capture, smoother results and deformable snow banks!   TESSELLATED VERSION ADDS DETAILED DISPLACEMENT CALCULATED FROM THE NORMAL MAP  Macro deformation breaks surface uniformity DirectX 11 With Tessellation (1/) [Barré-Brisebois 2014]
  • 30. DirectX 11 With Tessellation (2/) Minimum Height field Orthogonal Capture Frustum Projected Displacement Final Surface (displaced) Rooftop [Barré-Brisebois 2014]
  • 31. Without Tessellation (No Macro Deformation) [Barré-Brisebois 2014]
  • 32. With Tessellation (Macro Deformation) [Barré-Brisebois 2014]
  • 33. DirectX 11 With Tessellation (4/)  RUNTIME DICING OF SNOW MESHES  REAL GEOMETRY MEANS:  Works with Dynamic Shadows  Character shadows now follows the surface and shift with the deformation  Self shadowing & self-shading  Works with dynamic ambient occlusion  AO fills-in the trails [Barré-Brisebois 2014]
  • 35. Performance & Memory  PERFORMANCE  Heightmaps update < 1.0ms GPU on PS3/360  MEMORY  2 MB (360 / PS3 / WiiU)  Since we’re using low resolution heightmaps  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) [Barré-Brisebois 2014]
  • 36. 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 [Barré-Brisebois 2014]
  • 37. Future Endeavors…  Save the heightmaps and reload them?  Use this technique for other cases, such as sand, mud, etc…  Improvements to slopes with the depth-based approach [Barré-Brisebois 2014]
  • 39. Chroma Subsampling? (1/)  ARKHAM ORIGINS’ WORLD IS DOUBLE THE SIZE OF ARKHAM CITY  More data, but same amount of storage…  USE CHROMA SUBSAMPLING Chroma subsampling is the practice of encoding images by implementing less resolution for chroma information than for luma information, taking advantage of the human visual system's lower acuity for color differences than for luminance. 1  THIS IS NOT NEW…  Broadcasting  Oh, and in games too! [White and Penty 2009] 1 http://en.wikipedia.org/wiki/Chroma_subsampling
  • 40. Chroma Subsampling? (2/) Y(W, H) COCG (W / N, H / N) N  Your art director’s tolerance to compression (2, 4…) 
  • 41. Chroma Subsampling? (3/)  USED EXTENSIVELY ON LIGHTMAPS  Unlike [White and Penty 2009], we used YCoCg  Pack two luma textures together instead of 3  Blue channel pollution from DXT1 compression is too significant in our case when packing 3  Improve quality by setting B channel to 0 and/or set the DXT weights  (R=0.5, G=0.5, B=0)  USED EXTENSIVELY ON LODS  We have 2 (NEAR & FAR) levels of LODs, let’s compress more!  OVERALL BETTER COMPRESSION RESULTS OVER VANILLA DXT1 LIGHTMAPS & LODS
  • 42.
  • 43. Chroma Subsampling? (4/)  CHROMA SUBSAMPLING CAN BE USED EXTENSIVELY…  We started implementing chroma frame buffer compression  Similar to [Mavridis & Papaioannou 2012]’s The Compact YCoCg Frame Buffer  Didn’t make it into the final game   Nonetheless…  WE SHOULD ALWAYS FIND MORE OPPORTUNITIES TO COMPRESS MORE, ESPECIALLY WHEN IT MAKES “VISUALLY SENSE”!  Next time! 
  • 44. PART 3 NVIDIA GAMEWORKS ENHANCEMENTS
  • 45. BATMAN: ARKHAM ORIGINS FEATURED NVIDIA TECHNOLOGY DEPTH OF FIELD SNOWPRINTS: TESSELATION CONTACT-HARDENING SHADOWS HBAO+ BATMAN: TXAA, HBAO+, SOFT SHADOWS, CAPE TESSELLATION TEARING CLOTH ENVIRONMENTAL CLOTH PHYSX PARTICLES TURBULENCE BLIZZARD CONDITIONS: TURBULENCE
  • 46. VIDEO
  • 47. BATMAN: ARKHAM ORIGINS FEATURED NVIDIA TECHNOLOGY DEPTH OF FIELD SNOWPRINTS: TESSELATION CONTACT-HARDENING SHADOWS HBAO+ BATMAN: TXAA, HBAO+, SOFT SHADOWS, CAPE TESSELLATION TEARING CLOTH ENVIRONMENTAL CLOTH PHYSX PARTICLES TURBULENCE BLIZZARD CONDITIONS: TURBULENCE
  • 48. HBAO+
  • 49. HBAO+
  • 50. HBAO+
  • 61. 4K
  • 62. 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  CHROMA SUBSAMPLING FOR YOUR ART PIPELINE IS DEFINITELY A VENUE TO CONSIDER  HOW WE USED NVIDIA’S GAMEWORKS TO ENHANCE THE VISUALS OF SNOW BEHIND BATMAN: ARKHAM ORIGINS
  • 63. 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 Louis Bavoil Holger Gruen Andrei Tatarinov Andrew Burnes Jon Greenberg NVIDIA Questions? colin.barrebrisebois@wbgames.com / @ZigguratVertigo
  • 65. References (1/) [Barré-Brisebois 2014] Barré-Brisebois, Colin. “Deformable Snow Rendering in Batman: Arkham Origins“, Game Developers Conference, 2014. [Barré-Brisebois & Hill 2012] Barré-Brisebois, Colin and Hill, Stephen. "Blending in Detail - Reoriented Normal Mapping", 2012. http://bit.ly/Mf2UH0 [Bavoil & Jansen 2013] Bavoil, Louis and Jansen, Jon. “Particle Shadows & Cache-Efficient Post-Processing”, Game Developers Conference, 2013. [Edwards 2013] Edwards, John. "Sand Rendering in Journey", Advances in Real-Time Rendering, SIGGRAPH, 2012. [Jansen & Bavoil 2011] Jansen, Jon and Bavoil, Louis. “Fast rendering of opacity-mapped particles using DirectX 11 tessellation and mixed resolutions”, NVIDIA SDK, February 2011.
  • 66. References (2/) [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. [Mavridis & Papaioannou 2012] Mavridis, Pavlos and Papaioannou, Georgios. “The Compact YCoCg Frame Buffer”, Journal of Computer Graphics Techniques, 2012. [St-Amour 2013] St-Amour, Jean-François. "Rendering Assassin's Creed", Game Developers Conference, 2013. [White & Penty 2009] White, John and Penty, Colin. “Shooting in San Vanelona: The Visuals of Skate”, Game Developers Conference, 2009.