4.2. D EFERRED S HADING Exploration of deferred shading
(rendering)
Slide 2
Slide 3
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 geometry.
Slide 4
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).
Slide 5
Typically geometric information is output within a geometry
buffer (typically just handled as a texture within a shader) using
multiple render targets (MRT).
Slide 6
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. Aside: To a certain
extent, early Z-buffer tests can be used to limit unnecessary
overdraw using forward rendering. That said, deferred rendering is,
arguably, a cleaner, less complex approach).
Slide 7
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 anti- aliasing cannot be used. To a
certain extent this can be overcome by using suitable post-render
processing.
Slide 8
Games which have adopted a deferred rendering approach include:
Killzone LittleBigPlanet Stalker Dead Space Tabula Rasa Grand Theft
Auto IV
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.
Slide 28
Directed reading
http://www.gamerendering.com/category/rendering-methods/ Read
Deferred Rendering in Leadwerks Engine explore use of deferred
shading within a game engine Read Deferred Rendering in Killzone 2
explore use of deferred shading within Killzone 2 More generally
explore gamerendering.com on other aspects of deferred
shading:
Slide 29
To do: Read the directed reading Think if you would like to
build a deferred renderer for your project Today we explored:
Introduction to deferred shading (rendering) Typical advantages and
disadvantages of deferred rendering