SlideShare a Scribd company logo
1 of 103
Download to read offline
โ€ฃ Guerrilla is based in Amsterdam and weโ€Ÿre part of Sony since
2005
โ€ฃ Weโ€Ÿre working on two titles
โ€ฃ Unannounced new IP
โ€ฃ Killzone: Shadow Fall
โ€ฃ The new Killzone is PS4 launch title
โ€ฃ Our aim for announcement event was to run on PS4 hardware
โ€ฃ 1080p, solid 30FPS, no cheats
โ€ฃ This talk is about the experiences we gained during the demo
period
โ€ฃ 60 AI characters
โ€ฃ 940 Entities, 300 Active
โ€ฃ 8200 Physics objects (1500 keyframed, 6700 static)
โ€ฃ 500 Particle systems
โ€ฃ 120 Sound voices
โ€ฃ 110 Ray casts
โ€ฃ 1000 Jobs per frame
โ€ฃ Three memory areas
โ€ฃ System - CPU
โ€ฃ Shared - CPU + GPU
โ€ฃ Video - GPU
1,536 MB System
128 MB Shared
3,072 MB Video
Sound 553 MB
Havok Scratch 350 MB
Game Heap 318 MB
Various Assets, Entities, etc. 143 MB
Animation 75 MB
Executable + Stack 74 MB
LUA Script 6 MB
Particle Buffer 6 MB
AI Data 6 MB
Physics Meshes 5 MB
Total 1,536 MB
Display list (2x) 64 MB
GPU Scratch 32 MB
Streaming Pool 18 MB
CPU Scratch 12 MB
Queries / Labels 2 MB
Total 128 MB
Non-Steaming Textures 1,321 MB
Render Targets 800 MB
Streaming Pool (1.6 GB of streaming data) 572 MB
Meshes 315 MB
CUE Heap (49x) 32 MB
ES-GS Buffer 16 MB
GS-VS Buffer 16 MB
Total 3,072 MB
โ€ฃ No low-level CPU optimizations
โ€ฃ Just SIMD based math library (using SCE intrinsics)
โ€ฃ Focused optimizations on going โ€žwideโ€Ÿ
โ€ฃ Almost all code is multi-threaded / jobified
โ€ฃ Same model as PS3
โ€ฃ One main โ€žorchestratorโ€Ÿ thread
โ€ฃ All other code runs in jobs across all cores
โ€ฃ Easier to program, so much more code in jobs
โ€ฃ Jobification of code, ballpark improvements:
โ€ฃ (PS3 โ€ฃ PS4 - % of code running in jobs)
โ€ฃ 80% โ€ฃ 90% - Rendering code
โ€ฃ 10% โ€ฃ 80% - Game Logic
โ€ฃ 20% โ€ฃ 80% - AI Code
โ€ฃ Demo was optimized quite well
โ€ฃ 1080p30 with very few dropped frames on CPU and GPU
โ€ฃ Profiling tools are still in development this early on
โ€ฃ โ€ฆso we developed our own CPU and GPU Profiler
โ€ฃ The biggest performance challenge was thread contention
โ€ฃ Shared memory allocator, ton of mutexes.
โ€ฃ We gained approximately 50% of the CPU back by fixing high level
code.
โ€ฃ Do this first before you try to switch to some low level
multithreading friendly malloc.
โ€ฃ We had a few fights with the PS4 thread scheduler
โ€ฃ A lot of our SPU code used spinlocks
โ€ฃ Spinlocking is not nice for on any multicore system
โ€ฃ Just play nice, system mutexes are very fast
โ€ฃ We still use deferred shading
โ€ฃ The entire pipeline is HDR and linear space
โ€ฃ We switched to physically correct lighting model
โ€ฃ Energy preserving
โ€ฃ Properly calculated geometry attenuation factors
โ€ฃ All materials support translucency and Fresnel effect
โ€ฃ All our lights are area lights
โ€ฃ Volumetrics supported on every light
โ€ฃ Real-time reflections and localized reflection cubemaps
โ€ฃ Proper roughness response matching the real-time lights
โ€ฃ G-buffer with 5 MRTs + 32bit depth
โ€ฃ 1080p, RGBA16f, no MSAA at the moment
โ€ฃ 2x 8bit backbuffers
โ€ฃ 4x 2048x2048x32bit shadow maps
โ€ฃ We donโ€Ÿt use HiZ to avoid decompression before reads.
โ€ฃ A lot of low resolution buffers for post process effects
โ€ฃ Most of the buffers are overlapping in memory
โ€ฃ We still need to optimize the layout and formats
โ€ฃ Out of order generation using jobs
โ€ฃ Geometry passes are split into multiple jobs too
โ€ฃ We kick up to 60 command buffers per frame
โ€ฃ CBs are sorted based on a how they need to be consumed
โ€ฃ All double buffered
โ€ฃ We issue WaitForFlip at the very last moment in the frame
โ€ฃ Right before the next flip when the GPU renders into the back buffer
โ€ฃ Allows to avoid blocking waits on CPU during long frames
โ€ฃ CPU
โ€ฃ Core 0
โ€ฃ Core 1
โ€ฃ Core 2
โ€ฃ GPU
Geo 100 Geo 101
Geo 200
Geo 300
Lights 500
Lights 600
Post 700
Post 701
Geo 100 Geo 200 Geo 300 Lights 500 Lights 600Geo 101
Post 700 Post 701 WaitForFlip #N-1 Flip #NBlit
โ€ฃ Around 40k polygons for the highest LOD
โ€ฃ Enough to capture all detail for closeups
โ€ฃ We provided detail guide for LOD setups
โ€ฃ Up to 8 bone influences per vertex
โ€ฃ Most vertices use 4-5, drops with LOD#
โ€ฃ 6 x 2k x 2k textures for character body
โ€ฃ Plus detail maps and head textures
โ€ฃ 10ppi, everything authored as 4k
โ€ฃ KZ3 used 10k polygons, 3 LODs and 1k
textures
LOD# Polycount Distance
1 40,000 0-2
2 20,000 2-5
3 10,000 5-10
4 3,200 10-15
5 800 15-20
6 350 20-30
7 150 30+
Killzone: Shadow Fall Killzone 3
Killzone: Shadow FallKillzone 3
Killzone: Shadow FallKillzone 3
Killzone: Shadow FallKillzone 3
Optimization Saving
Sorting by (vertex) shader still helps ๏Š ms
More aggressive threshold for minimum bone influence (1%) ๏Š ms
Normal/Tangent/Binormal compression with x10y10z10w2 ๏Š ms
Only store Normal + Tangent + sign bit for Binormal ๏Š ms
We removed the tangent space for distant static LODs
Required adjustments to the directional lightmap sampling
๏Š ms
Optimization Saving
Sorting by (vertex) shader still helps ๏Š ms
More aggressive threshold for minimum bone influence (1%) ๏Š ms
Normal/Tangent/Binormal compression with x10y10z10w2 ๏Š ms
Only store Normal + Tangent + sign bit for Binormal ๏Š ms
We removed the tangent space for distant static LODs
Required adjustments to the directional lightmap sampling
๏Š ms
โ€ฃ Probably the most extensive and customizable system we have
โ€ฃ Can render in full resolution or half resolution or in deferred mode
โ€ฃ Can read from- and write to the g-buffer
โ€ฃ Can spawn another particles, meshes, lights and sounds on impact
โ€ฃ All particles use artist created shaders just like any other object
โ€ฃ Engine supports deferred lighting and shadowing of all particles
โ€ฃ Each particle can sample from forcefields (our artist placed
forces)
โ€ฃ All this means artists donโ€Ÿt need millions of particles to achieve
the desired effect.
โ€ฃ All particles are generated on the CPU - 10ms
โ€ฃ Manager job determines what is visible and needs to update
โ€ฃ One particle logic update job and one vertex job per subsystem
โ€ฃ Extensive code optimizations for PS4
โ€ฃ Update โ€žstaticโ€Ÿ particles early after the camera is available
โ€ฃ Use simple double buffered linear allocator to avoid contention
โ€ฃ Only generate vertices for visible particles
โ€ฃ Plans to move to compute in the future
โ€ฃ Real-time reflections
โ€ฃ Depth based and color cube color correction
โ€ฃ Exposure control
โ€ฃ Ambient occlusion
โ€ฃ Bloom and screen space godray effects
โ€ฃ Bokeh depth of field and motion blur
โ€ฃ Extensive artist driven lens flares
โ€ฃ FXAA
โ€ฃ Post processing is usually bandwidth bound
โ€ฃ Performance scales linearly with texture format size
โ€ฃ We switched from RGBA16F to smaller minifloat or integer formats
โ€ฃ Bloom downsample chain is 2x faster with R11G11B10
โ€ฃ SSAO randomly sampled depth in FP32
โ€ฃ Heavy cache trashing, FP16 gave us 2x speed improvement
โ€ฃ FXAA used RGBA16F as color input + luminance
โ€ฃ 2x speedup by switch to R11G11B10 for RGB and FP16 for luminance
โ€ฃ We found out that itโ€Ÿs beneficial to perform reads from the same
texture in packs of 4
โ€ฃ Weโ€Ÿre now partially unrolling our dynamic loops.
โ€ฃ Almost doubled performance of our reflection raytrace
โ€ฃ MRT blending performance seems to scale linearly with the
number of targets.
โ€ฃ Blending in shader can be faster - better scheduling of reads.
โ€ฃ Saved 50% on our full screen dust shader.
โ€ฃ Branching can be faster than a texture fetch hit
โ€ฃ We merged a lot of individual passes
โ€ฃ Saves read / write performance
โ€ฃ DoF Near & Far CoC is calculated once and output to MRT
โ€ฃ We have a โ€œmegaโ€ post process composite pass
โ€ฃ Merges results of all effects with the full resolution scene image.
โ€ฃ Avoids alpha blending and re-reads from memory.
โ€ฃ Quarter resolution
โ€ฃ Full resolution compute and point-sprite based version is not ported to
PS4 yet.
โ€ฃ 13x13 (169 samples) gather kernel
โ€ฃ Uses texture to define the bokeh shape
โ€ฃ Runs twice - once for far DoF, once for near DoF
โ€ฃ Was one of our most expensive effects before the optimizations
โ€ฃ We wanted to utilize branching to reduce the sample count for
smaller CoC values
โ€ฃ The idea - split the loop and gather in โ€žringsโ€Ÿ
โ€ฃ But this is a gather filter
โ€ฃ We need to know the CoC of all neighbors affecting the current pixel to
find the starting โ€žringโ€Ÿ.
โ€ฃ Solution - create the max tree of CoC values
โ€ฃ 4 mips are enough for our 13x13 pixel filter, takes 0.05ms
โ€ฃ Also forces filtering to be coherent on tile granularity
โ€ฃ Construction cost is almost inmeasurable
โ€ฃ Average DoF cost went down to 1/8th of the original cost
โ€ฃ Peak cost in demo โ€“ 1/4th of the original cost
โ€ฃ A mixture of screen space raytrace and a set of localized
cubemaps.
โ€ฃ A lot of Guerrilla secret sauceโ„ข in this one...
โ€ฃ Temporal reprojection for secondary bounces
โ€ฃ Hierarchical buffers to accelerate the raytrace
โ€ฃ Color buffer convolution matching our roughness
Cubemaps ONRaytrace OFF
Cubemaps ONRaytrace ON
Cubemaps ONRaytrace OFF
Cubemaps ONRaytrace ON
โ€ฃ Fallback in case the screen-space reflection cannot give result
โ€ฃ Reflected point is behind geometry or outside the screen
โ€ฃ Single global cubemap produces wrong reflections
โ€ฃ Classical example is seeing skybox reflection while you are standing
indoor against a wall.
โ€ฃ The idea is to have many small, local, cubemaps
โ€ฃ To capture the reflections inside a single room
โ€ฃ Or on the a landing platform in Killzone demo
โ€ฃ We currently pick only 8 localized cubemaps per frame
โ€ฃ Reflection shader finds cubemaps affecting current pixel
โ€ฃ Simple loop through all cubemaps
โ€ฃ Check if point is inside the cubemap AABB
โ€ฃ Fallback to global cubemap if thereโ€Ÿs no hit
โ€ฃ Relies on dynamic branching to avoid cubemap sampling
โ€ฃ When point check fails
โ€ฃ When total accumulated reflection amount reaches one
Cubemaps ONRaytrace OFF
Cubemaps ONRaytrace ON
โ€ฃ Very important part of the Killzone look
โ€ฃ Each of our light types support volumetrics
โ€ฃ Implemented as straightforward raymarching
โ€ฃ Rendered in quarter resolution during lighting pass
โ€ฃ We wanted something fancier and faster, but were pleasantly surprised
with the PS4 performance
โ€ฃ We use a couple of tricks to improve the quality
โ€ฃ Per pixel depth dithering of raymarch
โ€ฃ Bilateral filter and upsample
โ€ฃ 16 layers deep screen space participating media buffer
โ€ฃ Contains vesired intensity of volumetric effect at given camera distance
โ€ฃ We use particles to fill this buffer
โ€ฃ 16 layers deep screen space volume light buffer
โ€ฃ Amount of rendered volumetric lighting at given camera distance
โ€ฃ Allows blending of volumetrics and transparencies
โ€ฃ PS4 is really easy to program for!
โ€ฃ Wide multithreading is a must, consider using jobs
โ€ฃ Be nice to the OS thread scheduler and avoid spinlocks
โ€ฃ GPU is really fast!
โ€ฃ Watch your vertex shader outputs
โ€ฃ Donโ€Ÿt be afraid of using conditionals
โ€ฃ GDDR5 bandwidth is awesome!
โ€ฃ If you map your memory properly
โ€ฃ Use the smallest pixelformat for the job
โ€ฃ Use compute (and tell us about your experiences)
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo Postmortem

More Related Content

What's hot

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 AndromedaElectronic Arts / DICE
ย 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2Guerrilla
ย 
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
ย 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The SurgeMichele Giacalone
ย 
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
ย 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
ย 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsElectronic Arts / DICE
ย 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationGuerrilla
ย 
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3Electronic Arts / DICE
ย 
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
ย 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The SurgePhilip Hammer
ย 
Star Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingStar Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingumsl snfrzb
ย 
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)Johan Andersson
ย 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lightingozlael ozlael
ย 
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 666Tiago Sousa
ย 
The Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's EdgeThe Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's EdgeElectronic Arts / DICE
ย 
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
ย 
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
ย 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Johan Andersson
ย 

What's hot (20)

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
ย 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
ย 
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
ย 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
ย 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
ย 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
ย 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
ย 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
ย 
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
ย 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
ย 
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)
ย 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The Surge
ย 
Star Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingStar Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processing
ย 
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)
ย 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lighting
ย 
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
ย 
The Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's EdgeThe Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's Edge
ย 
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)
ย 
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
ย 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)
ย 

Similar to Killzone Shadow Fall Demo Postmortem

Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicschangehee lee
ย 
Crysis 2-key-rendering-features
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-featuresRaimundo Renato
ย 
FGS 2011: Making A Game With Molehill: Zombie Tycoon
FGS 2011: Making A Game With Molehill: Zombie TycoonFGS 2011: Making A Game With Molehill: Zombie Tycoon
FGS 2011: Making A Game With Molehill: Zombie Tycoonmochimedia
ย 
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Alex_Vlachos_Advanced_VR_Rendering_GDC2015Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Alex_Vlachos_Advanced_VR_Rendering_GDC2015Alex Vlachos
ย 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3Electronic Arts / DICE
ย 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War IIISlide_N
ย 
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
ย 
NVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and TransparencyNVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and TransparencyMark Kilgard
ย 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selectionYoss Cohen
ย 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...Edge AI and Vision Alliance
ย 
Look Ma, No Jutter! Optimizing Performance Across Oculus Mobile
Look Ma, No Jutter! Optimizing Performance Across Oculus MobileLook Ma, No Jutter! Optimizing Performance Across Oculus Mobile
Look Ma, No Jutter! Optimizing Performance Across Oculus MobileUnity Technologies
ย 
Realtime 3D Visualization without GPU
Realtime 3D Visualization without GPURealtime 3D Visualization without GPU
Realtime 3D Visualization without GPUTobias G
ย 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space MarinePope Kim
ย 
Threading Successes 06 Allegorithmic
Threading Successes 06   AllegorithmicThreading Successes 06   Allegorithmic
Threading Successes 06 Allegorithmicguest40fc7cd
ย 
ใ€ŒๅŽŸ็ฅžใ€ใซใŠใ‘ใ‚‹ใ‚ณใƒณใ‚ฝใƒผใƒซใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ้–‹็™บ
ใ€ŒๅŽŸ็ฅžใ€ใซใŠใ‘ใ‚‹ใ‚ณใƒณใ‚ฝใƒผใƒซใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ้–‹็™บใ€ŒๅŽŸ็ฅžใ€ใซใŠใ‘ใ‚‹ใ‚ณใƒณใ‚ฝใƒผใƒซใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ้–‹็™บ
ใ€ŒๅŽŸ็ฅžใ€ใซใŠใ‘ใ‚‹ใ‚ณใƒณใ‚ฝใƒผใƒซใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ้–‹็™บUnity Technologies Japan K.K.
ย 
Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]ozlael ozlael
ย 
โ€œShow Me the Garbage!โ€, Garbage Collection a Friend or a Foe
โ€œShow Me the Garbage!โ€, Garbage Collection a Friend or a Foeโ€œShow Me the Garbage!โ€, Garbage Collection a Friend or a Foe
โ€œShow Me the Garbage!โ€, Garbage Collection a Friend or a FoeHaim Yadid
ย 
GDC 2009: iPhone Development: Exploring The New Frontier
GDC 2009: iPhone Development: Exploring The New FrontierGDC 2009: iPhone Development: Exploring The New Frontier
GDC 2009: iPhone Development: Exploring The New FrontierNoel Llopis
ย 
The Next Generation of PhyreEngine
The Next Generation of PhyreEngineThe Next Generation of PhyreEngine
The Next Generation of PhyreEngineSlide_N
ย 
OpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUOpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUJiansong Chen
ย 

Similar to Killzone Shadow Fall Demo Postmortem (20)

Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphics
ย 
Crysis 2-key-rendering-features
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-features
ย 
FGS 2011: Making A Game With Molehill: Zombie Tycoon
FGS 2011: Making A Game With Molehill: Zombie TycoonFGS 2011: Making A Game With Molehill: Zombie Tycoon
FGS 2011: Making A Game With Molehill: Zombie Tycoon
ย 
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Alex_Vlachos_Advanced_VR_Rendering_GDC2015Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
ย 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
ย 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War III
ย 
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 ...
ย 
NVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and TransparencyNVIDIA Graphics, Cg, and Transparency
NVIDIA Graphics, Cg, and Transparency
ย 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selection
ย 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
ย 
Look Ma, No Jutter! Optimizing Performance Across Oculus Mobile
Look Ma, No Jutter! Optimizing Performance Across Oculus MobileLook Ma, No Jutter! Optimizing Performance Across Oculus Mobile
Look Ma, No Jutter! Optimizing Performance Across Oculus Mobile
ย 
Realtime 3D Visualization without GPU
Realtime 3D Visualization without GPURealtime 3D Visualization without GPU
Realtime 3D Visualization without GPU
ย 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
ย 
Threading Successes 06 Allegorithmic
Threading Successes 06   AllegorithmicThreading Successes 06   Allegorithmic
Threading Successes 06 Allegorithmic
ย 
ใ€ŒๅŽŸ็ฅžใ€ใซใŠใ‘ใ‚‹ใ‚ณใƒณใ‚ฝใƒผใƒซใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ้–‹็™บ
ใ€ŒๅŽŸ็ฅžใ€ใซใŠใ‘ใ‚‹ใ‚ณใƒณใ‚ฝใƒผใƒซใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ้–‹็™บใ€ŒๅŽŸ็ฅžใ€ใซใŠใ‘ใ‚‹ใ‚ณใƒณใ‚ฝใƒผใƒซใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ้–‹็™บ
ใ€ŒๅŽŸ็ฅžใ€ใซใŠใ‘ใ‚‹ใ‚ณใƒณใ‚ฝใƒผใƒซใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ้–‹็™บ
ย 
Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]
ย 
โ€œShow Me the Garbage!โ€, Garbage Collection a Friend or a Foe
โ€œShow Me the Garbage!โ€, Garbage Collection a Friend or a Foeโ€œShow Me the Garbage!โ€, Garbage Collection a Friend or a Foe
โ€œShow Me the Garbage!โ€, Garbage Collection a Friend or a Foe
ย 
GDC 2009: iPhone Development: Exploring The New Frontier
GDC 2009: iPhone Development: Exploring The New FrontierGDC 2009: iPhone Development: Exploring The New Frontier
GDC 2009: iPhone Development: Exploring The New Frontier
ย 
The Next Generation of PhyreEngine
The Next Generation of PhyreEngineThe Next Generation of PhyreEngine
The Next Generation of PhyreEngine
ย 
OpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUOpenGL ES and Mobile GPU
OpenGL ES and Mobile GPU
ย 

More from Guerrilla

Horizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyHorizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyGuerrilla
ย 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemGuerrilla
ย 
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnPutting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnGuerrilla
ย 
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
ย 
Building Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnBuilding Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnGuerrilla
ย 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnGuerrilla
ย 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnGuerrilla
ย 
The Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallThe Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallGuerrilla
ย 
Out of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoOut of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoGuerrilla
ย 
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallThe Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallGuerrilla
ย 
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
ย 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallGuerrilla
ย 
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterA Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterGuerrilla
ย 
Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Guerrilla
ย 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleGuerrilla
ย 
Killzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsKillzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsGuerrilla
ย 
Automatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondAutomatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondGuerrilla
ย 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3Guerrilla
ย 
The PlayStationยฎ3โ€™s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStationยฎ3โ€™s SPUs in the Real World: A KILLZONE 2 Case StudyThe PlayStationยฎ3โ€™s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStationยฎ3โ€™s SPUs in the Real World: A KILLZONE 2 Case StudyGuerrilla
ย 
Killzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural TacticsKillzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural TacticsGuerrilla
ย 

More from Guerrilla (20)

Horizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyHorizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case Study
ย 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-Mortem
ย 
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnPutting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
ย 
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
ย 
Building Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnBuilding Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero Dawn
ย 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
ย 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
ย 
The Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallThe Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow Fall
ย 
Out of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoOut of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI Info
ย 
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallThe Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
ย 
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
ย 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
ย 
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterA Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
ย 
Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3
ย 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release Cycle
ย 
Killzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsKillzone 2 Multiplayer Bots
Killzone 2 Multiplayer Bots
ย 
Automatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondAutomatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and Beyond
ย 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3
ย 
The PlayStationยฎ3โ€™s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStationยฎ3โ€™s SPUs in the Real World: A KILLZONE 2 Case StudyThe PlayStationยฎ3โ€™s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStationยฎ3โ€™s SPUs in the Real World: A KILLZONE 2 Case Study
ย 
Killzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural TacticsKillzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural Tactics
ย 

Recently uploaded

Almora call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Almora call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingAlmora call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Almora call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingNitya salvi
ย 
Thane West \ Escort Service in Mumbai - 450+ Call Girl Cash Payment 983332523...
Thane West \ Escort Service in Mumbai - 450+ Call Girl Cash Payment 983332523...Thane West \ Escort Service in Mumbai - 450+ Call Girl Cash Payment 983332523...
Thane West \ Escort Service in Mumbai - 450+ Call Girl Cash Payment 983332523...hotbabesbook
ย 
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...rahim quresi
ย 
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRLBhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRLNitya salvi
ย 
CHEAP Call Girls in Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in  Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in  Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser... Shivani Pandey
ย 
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingKanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingNitya salvi
ย 
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata โœ” 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata โœ” 62971...Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata โœ” 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata โœ” 62971...ritikasharma
ย 
Call Girls Bhandara Just Call 8617697112 Top Class Call Girl Service Available
Call Girls Bhandara Just Call 8617697112 Top Class Call Girl Service AvailableCall Girls Bhandara Just Call 8617697112 Top Class Call Girl Service Available
Call Girls Bhandara Just Call 8617697112 Top Class Call Girl Service AvailableNitya salvi
ย 
Behala ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Ready ...Behala ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Ready ...ritikasharma
ย 
Verified Trusted Call Girls Tambaram Chennai โœ”โœ”7427069034 Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai โœ”โœ”7427069034  Independent Chenna...Verified Trusted Call Girls Tambaram Chennai โœ”โœ”7427069034  Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai โœ”โœ”7427069034 Independent Chenna... Shivani Pandey
ย 
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...SUHANI PANDEY
ย 
Borum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย Service
Borum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย ServiceBorum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย Service
Borum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย ServiceDamini Dixit
ย 
๐Ÿ“ž Contact Number 8617697112 VIP East Sikkim Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP East Sikkim Call Girls๐Ÿ“ž Contact Number 8617697112 VIP East Sikkim Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP East Sikkim Call GirlsNitya salvi
ย 
Science City Kolkata ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sex...rahim quresi
ย 
(TOP CLASS) Call Girls In Nungambakkam Phone 7427069034 Call Girls Model With...
(TOP CLASS) Call Girls In Nungambakkam Phone 7427069034 Call Girls Model With...(TOP CLASS) Call Girls In Nungambakkam Phone 7427069034 Call Girls Model With...
(TOP CLASS) Call Girls In Nungambakkam Phone 7427069034 Call Girls Model With... Shivani Pandey
ย 
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call GirlsNitya salvi
ย 
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...rahim quresi
ย 
โคPersonal Whatsapp Number Mukteshwar Call Girls 8617697112 ๐Ÿ’ฆโœ….
โคPersonal Whatsapp Number Mukteshwar Call Girls 8617697112 ๐Ÿ’ฆโœ….โคPersonal Whatsapp Number Mukteshwar Call Girls 8617697112 ๐Ÿ’ฆโœ….
โคPersonal Whatsapp Number Mukteshwar Call Girls 8617697112 ๐Ÿ’ฆโœ….Nitya salvi
ย 
Verified Trusted Call Girls Ambattur Chennai โœ”โœ”7427069034 Independent Chenna...
Verified Trusted Call Girls Ambattur Chennai โœ”โœ”7427069034  Independent Chenna...Verified Trusted Call Girls Ambattur Chennai โœ”โœ”7427069034  Independent Chenna...
Verified Trusted Call Girls Ambattur Chennai โœ”โœ”7427069034 Independent Chenna... Shivani Pandey
ย 

Recently uploaded (20)

Almora call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Almora call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingAlmora call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Almora call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
ย 
Thane West \ Escort Service in Mumbai - 450+ Call Girl Cash Payment 983332523...
Thane West \ Escort Service in Mumbai - 450+ Call Girl Cash Payment 983332523...Thane West \ Escort Service in Mumbai - 450+ Call Girl Cash Payment 983332523...
Thane West \ Escort Service in Mumbai - 450+ Call Girl Cash Payment 983332523...
ย 
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
ย 
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRLBhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
ย 
CHEAP Call Girls in Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in  Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in  Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
ย 
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
ย 
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingKanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
ย 
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata โœ” 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata โœ” 62971...Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata โœ” 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata โœ” 62971...
ย 
Call Girls Bhandara Just Call 8617697112 Top Class Call Girl Service Available
Call Girls Bhandara Just Call 8617697112 Top Class Call Girl Service AvailableCall Girls Bhandara Just Call 8617697112 Top Class Call Girl Service Available
Call Girls Bhandara Just Call 8617697112 Top Class Call Girl Service Available
ย 
Behala ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Ready ...Behala ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Ready ...
ย 
Verified Trusted Call Girls Tambaram Chennai โœ”โœ”7427069034 Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai โœ”โœ”7427069034  Independent Chenna...Verified Trusted Call Girls Tambaram Chennai โœ”โœ”7427069034  Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai โœ”โœ”7427069034 Independent Chenna...
ย 
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
VIP Model Call Girls Vijayawada ( Pune ) Call ON 8005736733 Starting From 5K ...
ย 
Borum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย Service
Borum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย ServiceBorum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย Service
Borum Call Girls Service โ˜Ž ๏ธ93326-06886 โค๏ธโ€๐Ÿ”ฅ Enjoy 24/7 Escortย Service
ย 
๐Ÿ“ž Contact Number 8617697112 VIP East Sikkim Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP East Sikkim Call Girls๐Ÿ“ž Contact Number 8617697112 VIP East Sikkim Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP East Sikkim Call Girls
ย 
Science City Kolkata ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sex...
ย 
(TOP CLASS) Call Girls In Nungambakkam Phone 7427069034 Call Girls Model With...
(TOP CLASS) Call Girls In Nungambakkam Phone 7427069034 Call Girls Model With...(TOP CLASS) Call Girls In Nungambakkam Phone 7427069034 Call Girls Model With...
(TOP CLASS) Call Girls In Nungambakkam Phone 7427069034 Call Girls Model With...
ย 
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
ย 
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
ย 
โคPersonal Whatsapp Number Mukteshwar Call Girls 8617697112 ๐Ÿ’ฆโœ….
โคPersonal Whatsapp Number Mukteshwar Call Girls 8617697112 ๐Ÿ’ฆโœ….โคPersonal Whatsapp Number Mukteshwar Call Girls 8617697112 ๐Ÿ’ฆโœ….
โคPersonal Whatsapp Number Mukteshwar Call Girls 8617697112 ๐Ÿ’ฆโœ….
ย 
Verified Trusted Call Girls Ambattur Chennai โœ”โœ”7427069034 Independent Chenna...
Verified Trusted Call Girls Ambattur Chennai โœ”โœ”7427069034  Independent Chenna...Verified Trusted Call Girls Ambattur Chennai โœ”โœ”7427069034  Independent Chenna...
Verified Trusted Call Girls Ambattur Chennai โœ”โœ”7427069034 Independent Chenna...
ย 

Killzone Shadow Fall Demo Postmortem

  • 1.
  • 2. โ€ฃ Guerrilla is based in Amsterdam and weโ€Ÿre part of Sony since 2005 โ€ฃ Weโ€Ÿre working on two titles โ€ฃ Unannounced new IP โ€ฃ Killzone: Shadow Fall โ€ฃ The new Killzone is PS4 launch title โ€ฃ Our aim for announcement event was to run on PS4 hardware โ€ฃ 1080p, solid 30FPS, no cheats โ€ฃ This talk is about the experiences we gained during the demo period
  • 3.
  • 4.
  • 5. โ€ฃ 60 AI characters โ€ฃ 940 Entities, 300 Active โ€ฃ 8200 Physics objects (1500 keyframed, 6700 static) โ€ฃ 500 Particle systems โ€ฃ 120 Sound voices โ€ฃ 110 Ray casts โ€ฃ 1000 Jobs per frame
  • 6. โ€ฃ Three memory areas โ€ฃ System - CPU โ€ฃ Shared - CPU + GPU โ€ฃ Video - GPU 1,536 MB System 128 MB Shared 3,072 MB Video
  • 7. Sound 553 MB Havok Scratch 350 MB Game Heap 318 MB Various Assets, Entities, etc. 143 MB Animation 75 MB Executable + Stack 74 MB LUA Script 6 MB Particle Buffer 6 MB AI Data 6 MB Physics Meshes 5 MB Total 1,536 MB
  • 8. Display list (2x) 64 MB GPU Scratch 32 MB Streaming Pool 18 MB CPU Scratch 12 MB Queries / Labels 2 MB Total 128 MB
  • 9. Non-Steaming Textures 1,321 MB Render Targets 800 MB Streaming Pool (1.6 GB of streaming data) 572 MB Meshes 315 MB CUE Heap (49x) 32 MB ES-GS Buffer 16 MB GS-VS Buffer 16 MB Total 3,072 MB
  • 10. โ€ฃ No low-level CPU optimizations โ€ฃ Just SIMD based math library (using SCE intrinsics) โ€ฃ Focused optimizations on going โ€žwideโ€Ÿ โ€ฃ Almost all code is multi-threaded / jobified
  • 11. โ€ฃ Same model as PS3 โ€ฃ One main โ€žorchestratorโ€Ÿ thread โ€ฃ All other code runs in jobs across all cores โ€ฃ Easier to program, so much more code in jobs โ€ฃ Jobification of code, ballpark improvements: โ€ฃ (PS3 โ€ฃ PS4 - % of code running in jobs) โ€ฃ 80% โ€ฃ 90% - Rendering code โ€ฃ 10% โ€ฃ 80% - Game Logic โ€ฃ 20% โ€ฃ 80% - AI Code
  • 12. โ€ฃ Demo was optimized quite well โ€ฃ 1080p30 with very few dropped frames on CPU and GPU โ€ฃ Profiling tools are still in development this early on โ€ฃ โ€ฆso we developed our own CPU and GPU Profiler
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. โ€ฃ The biggest performance challenge was thread contention โ€ฃ Shared memory allocator, ton of mutexes. โ€ฃ We gained approximately 50% of the CPU back by fixing high level code. โ€ฃ Do this first before you try to switch to some low level multithreading friendly malloc. โ€ฃ We had a few fights with the PS4 thread scheduler โ€ฃ A lot of our SPU code used spinlocks โ€ฃ Spinlocking is not nice for on any multicore system โ€ฃ Just play nice, system mutexes are very fast
  • 29.
  • 30. โ€ฃ We still use deferred shading โ€ฃ The entire pipeline is HDR and linear space
  • 31. โ€ฃ We switched to physically correct lighting model โ€ฃ Energy preserving โ€ฃ Properly calculated geometry attenuation factors โ€ฃ All materials support translucency and Fresnel effect
  • 32. โ€ฃ All our lights are area lights
  • 34. โ€ฃ Real-time reflections and localized reflection cubemaps โ€ฃ Proper roughness response matching the real-time lights
  • 35. โ€ฃ G-buffer with 5 MRTs + 32bit depth โ€ฃ 1080p, RGBA16f, no MSAA at the moment โ€ฃ 2x 8bit backbuffers โ€ฃ 4x 2048x2048x32bit shadow maps โ€ฃ We donโ€Ÿt use HiZ to avoid decompression before reads. โ€ฃ A lot of low resolution buffers for post process effects โ€ฃ Most of the buffers are overlapping in memory โ€ฃ We still need to optimize the layout and formats
  • 36. โ€ฃ Out of order generation using jobs โ€ฃ Geometry passes are split into multiple jobs too โ€ฃ We kick up to 60 command buffers per frame โ€ฃ CBs are sorted based on a how they need to be consumed โ€ฃ All double buffered โ€ฃ We issue WaitForFlip at the very last moment in the frame โ€ฃ Right before the next flip when the GPU renders into the back buffer โ€ฃ Allows to avoid blocking waits on CPU during long frames
  • 37. โ€ฃ CPU โ€ฃ Core 0 โ€ฃ Core 1 โ€ฃ Core 2 โ€ฃ GPU Geo 100 Geo 101 Geo 200 Geo 300 Lights 500 Lights 600 Post 700 Post 701 Geo 100 Geo 200 Geo 300 Lights 500 Lights 600Geo 101 Post 700 Post 701 WaitForFlip #N-1 Flip #NBlit
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54. โ€ฃ Around 40k polygons for the highest LOD โ€ฃ Enough to capture all detail for closeups โ€ฃ We provided detail guide for LOD setups โ€ฃ Up to 8 bone influences per vertex โ€ฃ Most vertices use 4-5, drops with LOD# โ€ฃ 6 x 2k x 2k textures for character body โ€ฃ Plus detail maps and head textures โ€ฃ 10ppi, everything authored as 4k โ€ฃ KZ3 used 10k polygons, 3 LODs and 1k textures LOD# Polycount Distance 1 40,000 0-2 2 20,000 2-5 3 10,000 5-10 4 3,200 10-15 5 800 15-20 6 350 20-30 7 150 30+
  • 55. Killzone: Shadow Fall Killzone 3
  • 56.
  • 60. Optimization Saving Sorting by (vertex) shader still helps ๏Š ms More aggressive threshold for minimum bone influence (1%) ๏Š ms Normal/Tangent/Binormal compression with x10y10z10w2 ๏Š ms Only store Normal + Tangent + sign bit for Binormal ๏Š ms We removed the tangent space for distant static LODs Required adjustments to the directional lightmap sampling ๏Š ms
  • 61. Optimization Saving Sorting by (vertex) shader still helps ๏Š ms More aggressive threshold for minimum bone influence (1%) ๏Š ms Normal/Tangent/Binormal compression with x10y10z10w2 ๏Š ms Only store Normal + Tangent + sign bit for Binormal ๏Š ms We removed the tangent space for distant static LODs Required adjustments to the directional lightmap sampling ๏Š ms
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67. โ€ฃ Probably the most extensive and customizable system we have โ€ฃ Can render in full resolution or half resolution or in deferred mode โ€ฃ Can read from- and write to the g-buffer โ€ฃ Can spawn another particles, meshes, lights and sounds on impact โ€ฃ All particles use artist created shaders just like any other object โ€ฃ Engine supports deferred lighting and shadowing of all particles โ€ฃ Each particle can sample from forcefields (our artist placed forces) โ€ฃ All this means artists donโ€Ÿt need millions of particles to achieve the desired effect.
  • 68. โ€ฃ All particles are generated on the CPU - 10ms โ€ฃ Manager job determines what is visible and needs to update โ€ฃ One particle logic update job and one vertex job per subsystem โ€ฃ Extensive code optimizations for PS4 โ€ฃ Update โ€žstaticโ€Ÿ particles early after the camera is available โ€ฃ Use simple double buffered linear allocator to avoid contention โ€ฃ Only generate vertices for visible particles โ€ฃ Plans to move to compute in the future
  • 69.
  • 70. โ€ฃ Real-time reflections โ€ฃ Depth based and color cube color correction โ€ฃ Exposure control โ€ฃ Ambient occlusion โ€ฃ Bloom and screen space godray effects โ€ฃ Bokeh depth of field and motion blur โ€ฃ Extensive artist driven lens flares โ€ฃ FXAA
  • 71.
  • 72.
  • 73.
  • 74. โ€ฃ Post processing is usually bandwidth bound โ€ฃ Performance scales linearly with texture format size โ€ฃ We switched from RGBA16F to smaller minifloat or integer formats โ€ฃ Bloom downsample chain is 2x faster with R11G11B10 โ€ฃ SSAO randomly sampled depth in FP32 โ€ฃ Heavy cache trashing, FP16 gave us 2x speed improvement โ€ฃ FXAA used RGBA16F as color input + luminance โ€ฃ 2x speedup by switch to R11G11B10 for RGB and FP16 for luminance
  • 75. โ€ฃ We found out that itโ€Ÿs beneficial to perform reads from the same texture in packs of 4 โ€ฃ Weโ€Ÿre now partially unrolling our dynamic loops. โ€ฃ Almost doubled performance of our reflection raytrace โ€ฃ MRT blending performance seems to scale linearly with the number of targets. โ€ฃ Blending in shader can be faster - better scheduling of reads. โ€ฃ Saved 50% on our full screen dust shader.
  • 76. โ€ฃ Branching can be faster than a texture fetch hit โ€ฃ We merged a lot of individual passes โ€ฃ Saves read / write performance โ€ฃ DoF Near & Far CoC is calculated once and output to MRT โ€ฃ We have a โ€œmegaโ€ post process composite pass โ€ฃ Merges results of all effects with the full resolution scene image. โ€ฃ Avoids alpha blending and re-reads from memory.
  • 77.
  • 78. โ€ฃ Quarter resolution โ€ฃ Full resolution compute and point-sprite based version is not ported to PS4 yet. โ€ฃ 13x13 (169 samples) gather kernel โ€ฃ Uses texture to define the bokeh shape โ€ฃ Runs twice - once for far DoF, once for near DoF โ€ฃ Was one of our most expensive effects before the optimizations
  • 79. โ€ฃ We wanted to utilize branching to reduce the sample count for smaller CoC values โ€ฃ The idea - split the loop and gather in โ€žringsโ€Ÿ
  • 80. โ€ฃ But this is a gather filter โ€ฃ We need to know the CoC of all neighbors affecting the current pixel to find the starting โ€žringโ€Ÿ. โ€ฃ Solution - create the max tree of CoC values โ€ฃ 4 mips are enough for our 13x13 pixel filter, takes 0.05ms โ€ฃ Also forces filtering to be coherent on tile granularity โ€ฃ Construction cost is almost inmeasurable โ€ฃ Average DoF cost went down to 1/8th of the original cost โ€ฃ Peak cost in demo โ€“ 1/4th of the original cost
  • 81.
  • 82.
  • 83.
  • 84. โ€ฃ A mixture of screen space raytrace and a set of localized cubemaps. โ€ฃ A lot of Guerrilla secret sauceโ„ข in this one... โ€ฃ Temporal reprojection for secondary bounces โ€ฃ Hierarchical buffers to accelerate the raytrace โ€ฃ Color buffer convolution matching our roughness
  • 89. โ€ฃ Fallback in case the screen-space reflection cannot give result โ€ฃ Reflected point is behind geometry or outside the screen โ€ฃ Single global cubemap produces wrong reflections โ€ฃ Classical example is seeing skybox reflection while you are standing indoor against a wall. โ€ฃ The idea is to have many small, local, cubemaps โ€ฃ To capture the reflections inside a single room โ€ฃ Or on the a landing platform in Killzone demo
  • 90.
  • 91.
  • 92. โ€ฃ We currently pick only 8 localized cubemaps per frame โ€ฃ Reflection shader finds cubemaps affecting current pixel โ€ฃ Simple loop through all cubemaps โ€ฃ Check if point is inside the cubemap AABB โ€ฃ Fallback to global cubemap if thereโ€Ÿs no hit โ€ฃ Relies on dynamic branching to avoid cubemap sampling โ€ฃ When point check fails โ€ฃ When total accumulated reflection amount reaches one
  • 95. โ€ฃ Very important part of the Killzone look โ€ฃ Each of our light types support volumetrics โ€ฃ Implemented as straightforward raymarching โ€ฃ Rendered in quarter resolution during lighting pass โ€ฃ We wanted something fancier and faster, but were pleasantly surprised with the PS4 performance
  • 96. โ€ฃ We use a couple of tricks to improve the quality โ€ฃ Per pixel depth dithering of raymarch โ€ฃ Bilateral filter and upsample โ€ฃ 16 layers deep screen space participating media buffer โ€ฃ Contains vesired intensity of volumetric effect at given camera distance โ€ฃ We use particles to fill this buffer โ€ฃ 16 layers deep screen space volume light buffer โ€ฃ Amount of rendered volumetric lighting at given camera distance โ€ฃ Allows blending of volumetrics and transparencies
  • 97.
  • 98.
  • 99.
  • 100.
  • 101. โ€ฃ PS4 is really easy to program for! โ€ฃ Wide multithreading is a must, consider using jobs โ€ฃ Be nice to the OS thread scheduler and avoid spinlocks โ€ฃ GPU is really fast! โ€ฃ Watch your vertex shader outputs โ€ฃ Donโ€Ÿt be afraid of using conditionals โ€ฃ GDDR5 bandwidth is awesome! โ€ฃ If you map your memory properly โ€ฃ Use the smallest pixelformat for the job โ€ฃ Use compute (and tell us about your experiences)