Deferred Shading

Exploration of deferred shading (rendering)
Exploration of deferred shading (rendering)
A problem with forward rendering
In traditional ‘forward’ rendering, input geometry is passed through a
shader program that suitably manages the geometry and provides an
output (lit) colour.
A potential disadvantage of forward rendering is the often high cost
associated with the lighting portion of the shader combined with the
likelihood of drawing geometry which is later ‘replaced’ by closer
Deferred rendering
Deferred rendering operates by separating the geometry rendering stage
from the lighting stage.
Once geometry has been rendered, a later lighting shader then uses
available geometry information to determine how the visible scene should
be lit (i.e. the computation and memory bandwidth required is reduced to
those visible portions).
Deferred rendering
Typically geometric information is output within a ‘geometry buffer’
(typically just handled as a texture within a shader) using multiple render
targets (MRT).
Deferred rendering
Another advantage of deferred rendering is the ease with which rendering
can employ a large number of dynamic lights (which are challenging to
handle within forward renderers) – only those pixels effected by the lights
need be considered.
Limitations of deferred rendering
A key disadvantage of deferred rendering is the difficulty of handling
material transparency. Typically, transparency is handled within a
subsequent forward pass following deferred rendering.
Additionally, as the lighting
stage has been separated
from the geomety stage,
hardware based antialiasing cannot be used. To
a certain extent this can be
overcome by using suitable
post-render processing.
Games using deferred rendering:
Games which have adopted a deferred rendering approach include:
Dead Space
Tabula Rasa
Grand Theft Auto IV
Deferred rendering examples
Leadwerks: Albado(diffuse)
Leadwerks: Depth
Leadwerks: Normal
Leadwerks: Specular
Diffuse Lighting
Leadwerks: Final
Deferred Rendering in Killzone
Guerrilla’s Killzone
Guerrilla’s Killzone
Guerrilla’s Killzone
Guerrilla’s Killzone
Guerrilla’s Killzone
Guerrilla’s Killzone
Guerrilla’s Killzone
Guerrilla’s Killzone
Deferred particle rendering
View the DirectX SDK Deferred Particles sample
Directed reading concerning deferred reading
Directed reading
• Read Deferred Shading Tutorial – an
excellent introductory tutorial exploring
core aspects of deferred rendering.
• Read Deferred Shading – informative
presentation by Shawn Hargreaves
• Read GPU Gems 2 – Deferred Shading
in STALKER – exploring how deferred
rendering was used within STALKER.
• Read GPU Gems 3 – Deferred Shading
in Tabula Rasa – exploring how
deferred rendering was used within
Tabula Rasa.
Directed reading
• Read Deferred Rendering in
Leadwerks Engine –
explore use of deferred
shading within a game
• Read Deferred Rendering in
Killzone 2 – explore use of
deferred shading within
Killzone 2
• More generally explore on
other aspects of deferred
Today we
 Introduction
to deferred
 Typical
of deferred

similar documents