SlideShare a Scribd company logo
1 of 39
Download to read offline
„Shadow Warrior 2 and the evolution
of the Roadhog Engine”
Jarosław Pleskot
Senior Engine Programmer
Flying Wild Hog
2015
Presentation overview
1. Introduction
2. The engine evolution
a) Level construction pipeline
b) Character destruction
3. Foliage system 2.0
a) Architecture
b) Storage
c) Rendering
Shadow Warrior vs Shadow Warrior
* both games run on PS4 and XONE, SW was ported to Mac and Linux externally
Shadow Warrior Shadow Warrior 2
Production time 18 months total > 2 years
Team size 35 50
Engine programmers 2 7
PC Platform differences* PC DX9 32 bit, ported to
DX11 32/64 bit
PC DX11, 64 bit only
Multiplayer - COOP
Renderer Light Pre-Pass, nonlinear Deffered, linear, PBR
The engine evolution
Steps of the evolution
Hard Reset
(DX9, 32 bit)
Shadow Warrior
(DX9, 32 bit)
Shadow Warrior
(32/64 bit
DX11/PS4/XONE)
Shadow Warrior 2
(64 bit DX11, PS4,
XONE)
• First version of
Roadhog Engine
• Light pre-pass
renderer
• Main + render
threads + a few
worker threads
(Havok, sound,
etc)
• Foliage system
• Mirror
• Cutscenes
• Animation system
extended
• SSAO
• Skinned decals
• Job system
introduced
• Renderer ported
• New platforms
• Extensive use of
job system
• Physically based
rendering
• Multiplayer
• Procedural
character
destruction
• Big change in
level pipeline
2011 2013 2014 2016
For all FWH games before Shadow Warrior 2 level
geometry was constructed mainly outside game
editor.
• Hard reset: one big mesh + smaller meshes
• Shadow Warrior: a few parts of a level (loaded
or not) + smaller meshes + foliage
• Game editor was simple, focused on gameplay
design
Level construction pipeline
Level construction pipeline
• Shadow Warrior 2 has randomized maps
• Four levels of randomization:
• large scale randomization: level blocks
connected together with special parts
(connectors) + background blocks
• small scale randomization : ability to
change/hide/show parts of a block
• random interiors
• random weather
Level construction pipeline
• Now level construction is done in the game
editor
• A lot of new features added including:
• Terrain system(meshes creation+painting)
• Geometry brush (simple meshes)
• Wire modifier (static meshes deformation)
• Scaling support
Character destruction
Hard Reset:
• ragdoll breaking
• swapping chunks
• spawning character parts
as static meshes
• swapping textures
„Hard Reset – Case Study”, Tomasz Baran, 2012
Character destruction
Hard Reset:
+ fast
+ low memory cost
- limited to
noncontinues meshes
(robots)
- predefined places
of destruction
Character destruction
Shadow Warrior:
• ragdoll breaking with
skinned mesh cloning
• character is made of parts
(standard, gore, skeleton)
• spawning character parts
as static meshes
• skinned decals
Character destruction
Shadow Warrior:
+ excellent quality of
meshes
+ low CPU time cost
- a lot of work for
character artists
- predefined places
of cuts
Character destruction
Shadow Warrior 2:
• real-time procedural character splitting
(mesh+ragdoll)
• holes
• spawning parts as static meshes
• material modifiers
• skinned decals
YOUTUBE: Shadow Warrior 2 - 15 Glorious Minutes of Gameplay [E3 2015]
Character destruction
Shadow Warrior 2:
+ unique cuts
+ less work for artists
- more memory,
splitting time
- some constraints for
artists
Still under development
look for future presentations for details
Foliage system 2.0
Foliage system before SW2
• Levels in Shadow Warrior created in 3dsmax
• Spawn meshes technique invented *
Spawn meshes –
meshes with
relative foliage
density stored as
vertex color
* „The Techonology behind Shadow Warrior”, Jarosław Pleskot, 2014
Foliage system 2.0 – requirements
• Denser foliage
• Levels created in game editor
• Random level generation (level blocks,
predefined parts of a block changed)
Must reinvent the foliage system!
Use (spatially) bigger meshes and reduce an
instance size to lower the gather time
Foliage system 2.0 – architecture
• Main classes:
• Foliage Area
• Foliage Layer
• Foliage Palette
• Foliage Set
• Foliage Element
Foliage system 2.0 – layers
• Foliage layer - contains instance transformations in
local space
• One Foliage Layer per gameobject with foliage
painted
• Objects can be moved, rotated, scaled in editor,
foliage will be updated properly
Foliage Area
Foliage Layer „A” Foliage Layer „B” Foliage Layer „N”…
Foliage system 2.0 – layers
• On level start we build foliage grid using foliage
layers of all created objects (random levels)
Foliage Area
Foliage Layer „A” Foliage Layer „B” Foliage Layer „N”…
World
Placeable „A”
Placeable „B”
Placeable „N”…
Foliage system 2.0 – layers
• A foliage layer stores full FP32 positions and
FP16 normals together with coloring values, set
ids and seeds for a random number generator
• Foliage can be blocked in some areas using
foliage blockers (eg. don’t want foliage under a
randomly placed fountain)
• 100-200 layers per level block used
• Artist can change brush parameters without
repainting the layer
Foliage system 2.0 – palette
• Painting using Foliage Set (Brush)
• One set can contain many elements
• Each element can specify many meshes and painting
properties for all meshes in the element
Foliage Palette
Foliage Set „A”
Foliage Element 1
Foliage Element N
…
Foliage Set „N”
Foliage Element 1
Foliage Element N
…
…
Foliage system 2.0 – palette editor
Foliage system 2.0 – painting
• Density counted for
every set individually
• Can erase instances of
a single set or all of
them at once
• Painting on
translucents as an
option (e.g. over/under
water)
• Angle limit (eg.
painting the stairs)
Foliage system 2.0 – coloring
• Constant or
background color mode
• Can randomize color
in HSL space
• Can blend out
coloring using object
space Z coord and
multiplier
Foliage system 2.0 – grids
• Multi resolution grids (2 levels: 4x4 and 64x64
meters, one grid per batch) in Shadow Warrior
DX11
Foliage system 2.0 – storage (grid)
• Now more batches used and visibility test used
for foliage (software Z buffer visibility)
• One grid per batch changed to one grid for all
batches to reduce grid total traverse time and
to evade redundant visibility tests
Foliage system 2.0 – storage
Instance size reduced from 32 to 16 bytes
struct SObject
{
Half4 m_plane0; // 8
Half4 m_plane1; // 16
Half4 m_plane2; // 24
Vec3Packed64 m_position;// 32
};
struct SObject
{
Half4 m_euler; // 8
Int16 m_worldZ; // 10
UInt8 m_localX; // 11
UInt8 m_localY; // 12
UInt32 m_coloring; // 16
};
Foliage system 2.0 – storage
• Rotation stored as FP16 euler angles
• XY position relative to node corner
• Z in worldspace
• Position resolution ~1,6 cm, min/max Z = ±512 m
• Size generated at runtime
• Batch and LoD index in m_euler.W
struct SObject
{
Half4 m_euler; // 8
Int16 m_worldZ; // 10
UInt8 m_localX; // 11
UInt8 m_localY; // 12
UInt32 m_coloring; // 16
};
Foliage system 2.0 – imposters
Imposter system was created for static meshes
• Diffuse + normal maps
• Many angles
Adopted for the foliage system:
• Yaw only rotation
• Sharpening
• Background color
Foliage system 2.0 – imposters
• Enabled by default
• From 1 to 16 angles, default 4
• 3 texture sizes, default 128 (size == bigger dimension
of single image, power of 2)
• Range ratio, default 0.5 (?)
• Generation background color
• Sharpening option
Foliage system 2.0 – imposters
meshes 100 %
imposters, 100 %
imposters, 20 %Level of detail:
• 3 stages for high
and ultra setting,
• 2 stages for low
setting (20% of
instances)
• Dissolve between
stages
Foliage system 2.0 – imposters
OFF
Foliage system 2.0 – imposters
ON
Foliage system 2.0 – terrain
• Foliage is usually placed on the terrain
• Editing the terrain must update the foliage
• When painting we get positions and normals
from g-buffer
• When updating
terrain they are
recaluclated
from heightmap
Foliage system 2.0 – backend
OFF• Traversing grid and gathering data for a
renderer using one separate job, many arrays
of vertices copied to a single dynamic VB /
passed to imposter system
• Rendering:
- main G-Buffer pass
- directional shadowmap pass
- ids for picking, editor only
Foliage system 2.0 – to do list
• Coloring on imposters
• Dedicated instancing vertex format
• Reaction to the passing characters ?
Movies
1. https://youtu.be/hFz5OAVFSC8
2. https://youtu.be/SkEJ7ox2c8w
Acknowledgment
Łukasz Zdunowski – Lead Artist
Zbigniew Siatecki – Senior Environment Artist
Marcin Sapiejewski – Senior Environment Artist
Przemysław Witkowski – 3D/Engine Programmer
Artur Maksara - Producer
+ our entire team and GIC staff.
Thank you for your attention
Questions?
Contact:
Email: jarek.pleskot AT flyingwildhog.com
Twitter: @JaroslawPleskot
Facebook: Jarosław Pleskot

More Related Content

What's hot

CS 354 Texture Mapping
CS 354 Texture MappingCS 354 Texture Mapping
CS 354 Texture MappingMark Kilgard
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderEidos-Montréal
 
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 RunElectronic Arts / DICE
 
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
 
Clustered defered and forward shading
Clustered defered and forward shadingClustered defered and forward shading
Clustered defered and forward shadingWuBinbo
 
Paris Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing PipelineParis Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing PipelineWolfgang Engel
 
Paris Master Class 2011 - 02 Screen Space Material System
Paris Master Class 2011 - 02 Screen Space Material SystemParis Master Class 2011 - 02 Screen Space Material System
Paris Master Class 2011 - 02 Screen Space Material SystemWolfgang Engel
 
Modern Graphics Pipeline Overview
Modern Graphics Pipeline OverviewModern Graphics Pipeline Overview
Modern Graphics Pipeline Overviewslantsixgames
 
Photogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontPhotogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontElectronic Arts / DICE
 
Oit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked ListsOit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked ListsHolger Gruen
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Massive Point Light Soft Shadows
Massive Point Light Soft ShadowsMassive Point Light Soft Shadows
Massive Point Light Soft ShadowsWolfgang Engel
 
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
 
Around the World in 80 Shaders
Around the World in 80 ShadersAround the World in 80 Shaders
Around the World in 80 Shadersstevemcauley
 
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 2016Graham Wihlidal
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsJohan Andersson
 
Implementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererImplementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererDavide Pasca
 

What's hot (20)

DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
CS 354 Texture Mapping
CS 354 Texture MappingCS 354 Texture Mapping
CS 354 Texture Mapping
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb Raider
 
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
 
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...
 
Clustered defered and forward shading
Clustered defered and forward shadingClustered defered and forward shading
Clustered defered and forward shading
 
Paris Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing PipelineParis Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing Pipeline
 
Paris Master Class 2011 - 02 Screen Space Material System
Paris Master Class 2011 - 02 Screen Space Material SystemParis Master Class 2011 - 02 Screen Space Material System
Paris Master Class 2011 - 02 Screen Space Material System
 
Modern Graphics Pipeline Overview
Modern Graphics Pipeline OverviewModern Graphics Pipeline Overview
Modern Graphics Pipeline Overview
 
Photogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontPhotogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars Battlefront
 
Oit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked ListsOit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked Lists
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Massive Point Light Soft Shadows
Massive Point Light Soft ShadowsMassive Point Light Soft Shadows
Massive Point Light Soft Shadows
 
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)
 
Around the World in 80 Shaders
Around the World in 80 ShadersAround the World in 80 Shaders
Around the World in 80 Shaders
 
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
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
 
Implementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererImplementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES renderer
 

Viewers also liked

2010 Prince Philip Designers Prize
2010 Prince Philip Designers Prize2010 Prince Philip Designers Prize
2010 Prince Philip Designers PrizeDesign Council
 
Naughty Dog Vertex
Naughty Dog VertexNaughty Dog Vertex
Naughty Dog VertexNaughty Dog
 
Indian Architect & Builder - Dec 09
Indian Architect & Builder - Dec 09Indian Architect & Builder - Dec 09
Indian Architect & Builder - Dec 09Dinesh Verma
 
Uncharted 2: Character Pipeline
Uncharted 2: Character PipelineUncharted 2: Character Pipeline
Uncharted 2: Character PipelineNaughty Dog
 
Crowdsourcing, innovacion abierta
Crowdsourcing, innovacion abiertaCrowdsourcing, innovacion abierta
Crowdsourcing, innovacion abiertaJCI Gualeguaychú
 
IP Crammer Presentation 2015
IP Crammer Presentation 2015IP Crammer Presentation 2015
IP Crammer Presentation 2015Fuulido Narrative
 
GPC Manejo paciente con Dispepsia
GPC Manejo paciente con DispepsiaGPC Manejo paciente con Dispepsia
GPC Manejo paciente con DispepsiaMarta Puig-Soler
 
Comercial Presentation Whiteproperties Ltd
Comercial Presentation Whiteproperties LtdComercial Presentation Whiteproperties Ltd
Comercial Presentation Whiteproperties Ltdgoncalvessm
 
Webquest nutricion 2013 bachillerato
Webquest nutricion 2013 bachilleratoWebquest nutricion 2013 bachillerato
Webquest nutricion 2013 bachilleratomaguedawg
 
Cáncer de esófago - Tratamiento
Cáncer de esófago - TratamientoCáncer de esófago - Tratamiento
Cáncer de esófago - Tratamientoasociaciongastrocba
 
Abd_El_Wahed_Sayed_Abd_el_Wahed 21
Abd_El_Wahed_Sayed_Abd_el_Wahed 21Abd_El_Wahed_Sayed_Abd_el_Wahed 21
Abd_El_Wahed_Sayed_Abd_el_Wahed 21Abdelwahed Sayed
 
Econ 215 money and banking(queens college) 2012 fall term
Econ 215  money and banking(queens college) 2012 fall termEcon 215  money and banking(queens college) 2012 fall term
Econ 215 money and banking(queens college) 2012 fall termJohn Smith
 
Best Practices in Patent Information: USA and Japan
Best Practices in Patent Information: USA and JapanBest Practices in Patent Information: USA and Japan
Best Practices in Patent Information: USA and Japanspkowalski
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5Tim Wright
 

Viewers also liked (20)

2010 Prince Philip Designers Prize
2010 Prince Philip Designers Prize2010 Prince Philip Designers Prize
2010 Prince Philip Designers Prize
 
Launch slides part 1
Launch slides part 1Launch slides part 1
Launch slides part 1
 
Linked In Show
Linked In ShowLinked In Show
Linked In Show
 
Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3
 
Naughty Dog Vertex
Naughty Dog VertexNaughty Dog Vertex
Naughty Dog Vertex
 
Indian Architect & Builder - Dec 09
Indian Architect & Builder - Dec 09Indian Architect & Builder - Dec 09
Indian Architect & Builder - Dec 09
 
Uncharted 2: Character Pipeline
Uncharted 2: Character PipelineUncharted 2: Character Pipeline
Uncharted 2: Character Pipeline
 
Aserti
AsertiAserti
Aserti
 
Crowdsourcing, innovacion abierta
Crowdsourcing, innovacion abiertaCrowdsourcing, innovacion abierta
Crowdsourcing, innovacion abierta
 
IP Crammer Presentation 2015
IP Crammer Presentation 2015IP Crammer Presentation 2015
IP Crammer Presentation 2015
 
Doc1
Doc1Doc1
Doc1
 
GPC Manejo paciente con Dispepsia
GPC Manejo paciente con DispepsiaGPC Manejo paciente con Dispepsia
GPC Manejo paciente con Dispepsia
 
Comercial Presentation Whiteproperties Ltd
Comercial Presentation Whiteproperties LtdComercial Presentation Whiteproperties Ltd
Comercial Presentation Whiteproperties Ltd
 
Webquest nutricion 2013 bachillerato
Webquest nutricion 2013 bachilleratoWebquest nutricion 2013 bachillerato
Webquest nutricion 2013 bachillerato
 
Cáncer de esófago - Tratamiento
Cáncer de esófago - TratamientoCáncer de esófago - Tratamiento
Cáncer de esófago - Tratamiento
 
Abd_El_Wahed_Sayed_Abd_el_Wahed 21
Abd_El_Wahed_Sayed_Abd_el_Wahed 21Abd_El_Wahed_Sayed_Abd_el_Wahed 21
Abd_El_Wahed_Sayed_Abd_el_Wahed 21
 
Econ 215 money and banking(queens college) 2012 fall term
Econ 215  money and banking(queens college) 2012 fall termEcon 215  money and banking(queens college) 2012 fall term
Econ 215 money and banking(queens college) 2012 fall term
 
Best Practices in Patent Information: USA and Japan
Best Practices in Patent Information: USA and JapanBest Practices in Patent Information: USA and Japan
Best Practices in Patent Information: USA and Japan
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5
 
MCE
MCEMCE
MCE
 

Similar to Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15

Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014Mary Chan
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesGuerrilla
 
Making a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie TycoonMaking a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie TycoonJean-Philippe Doiron
 
Decima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnDecima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnGuerrilla
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko3D
 
Cg shaders with Unity3D
Cg shaders with Unity3DCg shaders with Unity3D
Cg shaders with Unity3DMichael Ivanov
 
AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081Marek Rosa
 
Digital Image Processing and gis software systems
Digital Image Processing and gis software systemsDigital Image Processing and gis software systems
Digital Image Processing and gis software systemsNirmal Kumar
 
Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)basisspace
 
[UniteKorea2013] The Unity Rendering Pipeline
[UniteKorea2013] The Unity Rendering Pipeline[UniteKorea2013] The Unity Rendering Pipeline
[UniteKorea2013] The Unity Rendering PipelineWilliam Hugo Yang
 
A Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemA Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemBo Li
 
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Daosheng Mu
 
Hpg2011 papers kazakov
Hpg2011 papers kazakovHpg2011 papers kazakov
Hpg2011 papers kazakovmistercteam
 
3D Multi Object GAN
3D Multi Object GAN3D Multi Object GAN
3D Multi Object GANYu Nishimura
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360VIKAS SINGH BHADOURIA
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2drandom
 

Similar to Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15 (20)

Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
 
Making a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie TycoonMaking a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie Tycoon
 
Decima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnDecima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero Dawn
 
Real-time lightmap baking
Real-time lightmap bakingReal-time lightmap baking
Real-time lightmap baking
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525
 
Cg shaders with Unity3D
Cg shaders with Unity3DCg shaders with Unity3D
Cg shaders with Unity3D
 
Light prepass
Light prepassLight prepass
Light prepass
 
AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081
 
Digital Image Processing and gis software systems
Digital Image Processing and gis software systemsDigital Image Processing and gis software systems
Digital Image Processing and gis software systems
 
Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)
 
[UniteKorea2013] The Unity Rendering Pipeline
[UniteKorea2013] The Unity Rendering Pipeline[UniteKorea2013] The Unity Rendering Pipeline
[UniteKorea2013] The Unity Rendering Pipeline
 
A Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemA Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering System
 
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
 
Felwyrld Tech
Felwyrld TechFelwyrld Tech
Felwyrld Tech
 
Hpg2011 papers kazakov
Hpg2011 papers kazakovHpg2011 papers kazakov
Hpg2011 papers kazakov
 
3D Multi Object GAN
3D Multi Object GAN3D Multi Object GAN
3D Multi Object GAN
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2
 

Recently uploaded

SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 

Recently uploaded (20)

SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 

Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15

  • 1. „Shadow Warrior 2 and the evolution of the Roadhog Engine” Jarosław Pleskot Senior Engine Programmer Flying Wild Hog 2015
  • 2. Presentation overview 1. Introduction 2. The engine evolution a) Level construction pipeline b) Character destruction 3. Foliage system 2.0 a) Architecture b) Storage c) Rendering
  • 3. Shadow Warrior vs Shadow Warrior * both games run on PS4 and XONE, SW was ported to Mac and Linux externally Shadow Warrior Shadow Warrior 2 Production time 18 months total > 2 years Team size 35 50 Engine programmers 2 7 PC Platform differences* PC DX9 32 bit, ported to DX11 32/64 bit PC DX11, 64 bit only Multiplayer - COOP Renderer Light Pre-Pass, nonlinear Deffered, linear, PBR
  • 5. Steps of the evolution Hard Reset (DX9, 32 bit) Shadow Warrior (DX9, 32 bit) Shadow Warrior (32/64 bit DX11/PS4/XONE) Shadow Warrior 2 (64 bit DX11, PS4, XONE) • First version of Roadhog Engine • Light pre-pass renderer • Main + render threads + a few worker threads (Havok, sound, etc) • Foliage system • Mirror • Cutscenes • Animation system extended • SSAO • Skinned decals • Job system introduced • Renderer ported • New platforms • Extensive use of job system • Physically based rendering • Multiplayer • Procedural character destruction • Big change in level pipeline 2011 2013 2014 2016
  • 6. For all FWH games before Shadow Warrior 2 level geometry was constructed mainly outside game editor. • Hard reset: one big mesh + smaller meshes • Shadow Warrior: a few parts of a level (loaded or not) + smaller meshes + foliage • Game editor was simple, focused on gameplay design Level construction pipeline
  • 7. Level construction pipeline • Shadow Warrior 2 has randomized maps • Four levels of randomization: • large scale randomization: level blocks connected together with special parts (connectors) + background blocks • small scale randomization : ability to change/hide/show parts of a block • random interiors • random weather
  • 8. Level construction pipeline • Now level construction is done in the game editor • A lot of new features added including: • Terrain system(meshes creation+painting) • Geometry brush (simple meshes) • Wire modifier (static meshes deformation) • Scaling support
  • 9. Character destruction Hard Reset: • ragdoll breaking • swapping chunks • spawning character parts as static meshes • swapping textures „Hard Reset – Case Study”, Tomasz Baran, 2012
  • 10. Character destruction Hard Reset: + fast + low memory cost - limited to noncontinues meshes (robots) - predefined places of destruction
  • 11. Character destruction Shadow Warrior: • ragdoll breaking with skinned mesh cloning • character is made of parts (standard, gore, skeleton) • spawning character parts as static meshes • skinned decals
  • 12. Character destruction Shadow Warrior: + excellent quality of meshes + low CPU time cost - a lot of work for character artists - predefined places of cuts
  • 13. Character destruction Shadow Warrior 2: • real-time procedural character splitting (mesh+ragdoll) • holes • spawning parts as static meshes • material modifiers • skinned decals YOUTUBE: Shadow Warrior 2 - 15 Glorious Minutes of Gameplay [E3 2015]
  • 14. Character destruction Shadow Warrior 2: + unique cuts + less work for artists - more memory, splitting time - some constraints for artists Still under development look for future presentations for details
  • 16. Foliage system before SW2 • Levels in Shadow Warrior created in 3dsmax • Spawn meshes technique invented * Spawn meshes – meshes with relative foliage density stored as vertex color * „The Techonology behind Shadow Warrior”, Jarosław Pleskot, 2014
  • 17. Foliage system 2.0 – requirements • Denser foliage • Levels created in game editor • Random level generation (level blocks, predefined parts of a block changed) Must reinvent the foliage system! Use (spatially) bigger meshes and reduce an instance size to lower the gather time
  • 18. Foliage system 2.0 – architecture • Main classes: • Foliage Area • Foliage Layer • Foliage Palette • Foliage Set • Foliage Element
  • 19. Foliage system 2.0 – layers • Foliage layer - contains instance transformations in local space • One Foliage Layer per gameobject with foliage painted • Objects can be moved, rotated, scaled in editor, foliage will be updated properly Foliage Area Foliage Layer „A” Foliage Layer „B” Foliage Layer „N”…
  • 20. Foliage system 2.0 – layers • On level start we build foliage grid using foliage layers of all created objects (random levels) Foliage Area Foliage Layer „A” Foliage Layer „B” Foliage Layer „N”… World Placeable „A” Placeable „B” Placeable „N”…
  • 21. Foliage system 2.0 – layers • A foliage layer stores full FP32 positions and FP16 normals together with coloring values, set ids and seeds for a random number generator • Foliage can be blocked in some areas using foliage blockers (eg. don’t want foliage under a randomly placed fountain) • 100-200 layers per level block used • Artist can change brush parameters without repainting the layer
  • 22. Foliage system 2.0 – palette • Painting using Foliage Set (Brush) • One set can contain many elements • Each element can specify many meshes and painting properties for all meshes in the element Foliage Palette Foliage Set „A” Foliage Element 1 Foliage Element N … Foliage Set „N” Foliage Element 1 Foliage Element N … …
  • 23. Foliage system 2.0 – palette editor
  • 24. Foliage system 2.0 – painting • Density counted for every set individually • Can erase instances of a single set or all of them at once • Painting on translucents as an option (e.g. over/under water) • Angle limit (eg. painting the stairs)
  • 25. Foliage system 2.0 – coloring • Constant or background color mode • Can randomize color in HSL space • Can blend out coloring using object space Z coord and multiplier
  • 26. Foliage system 2.0 – grids • Multi resolution grids (2 levels: 4x4 and 64x64 meters, one grid per batch) in Shadow Warrior DX11
  • 27. Foliage system 2.0 – storage (grid) • Now more batches used and visibility test used for foliage (software Z buffer visibility) • One grid per batch changed to one grid for all batches to reduce grid total traverse time and to evade redundant visibility tests
  • 28. Foliage system 2.0 – storage Instance size reduced from 32 to 16 bytes struct SObject { Half4 m_plane0; // 8 Half4 m_plane1; // 16 Half4 m_plane2; // 24 Vec3Packed64 m_position;// 32 }; struct SObject { Half4 m_euler; // 8 Int16 m_worldZ; // 10 UInt8 m_localX; // 11 UInt8 m_localY; // 12 UInt32 m_coloring; // 16 };
  • 29. Foliage system 2.0 – storage • Rotation stored as FP16 euler angles • XY position relative to node corner • Z in worldspace • Position resolution ~1,6 cm, min/max Z = ±512 m • Size generated at runtime • Batch and LoD index in m_euler.W struct SObject { Half4 m_euler; // 8 Int16 m_worldZ; // 10 UInt8 m_localX; // 11 UInt8 m_localY; // 12 UInt32 m_coloring; // 16 };
  • 30. Foliage system 2.0 – imposters Imposter system was created for static meshes • Diffuse + normal maps • Many angles Adopted for the foliage system: • Yaw only rotation • Sharpening • Background color
  • 31. Foliage system 2.0 – imposters • Enabled by default • From 1 to 16 angles, default 4 • 3 texture sizes, default 128 (size == bigger dimension of single image, power of 2) • Range ratio, default 0.5 (?) • Generation background color • Sharpening option
  • 32. Foliage system 2.0 – imposters meshes 100 % imposters, 100 % imposters, 20 %Level of detail: • 3 stages for high and ultra setting, • 2 stages for low setting (20% of instances) • Dissolve between stages
  • 33. Foliage system 2.0 – imposters OFF
  • 34. Foliage system 2.0 – imposters ON
  • 35. Foliage system 2.0 – terrain • Foliage is usually placed on the terrain • Editing the terrain must update the foliage • When painting we get positions and normals from g-buffer • When updating terrain they are recaluclated from heightmap
  • 36. Foliage system 2.0 – backend OFF• Traversing grid and gathering data for a renderer using one separate job, many arrays of vertices copied to a single dynamic VB / passed to imposter system • Rendering: - main G-Buffer pass - directional shadowmap pass - ids for picking, editor only
  • 37. Foliage system 2.0 – to do list • Coloring on imposters • Dedicated instancing vertex format • Reaction to the passing characters ? Movies 1. https://youtu.be/hFz5OAVFSC8 2. https://youtu.be/SkEJ7ox2c8w
  • 38. Acknowledgment Łukasz Zdunowski – Lead Artist Zbigniew Siatecki – Senior Environment Artist Marcin Sapiejewski – Senior Environment Artist Przemysław Witkowski – 3D/Engine Programmer Artur Maksara - Producer + our entire team and GIC staff.
  • 39. Thank you for your attention Questions? Contact: Email: jarek.pleskot AT flyingwildhog.com Twitter: @JaroslawPleskot Facebook: Jarosław Pleskot