310 likes | 515 Views
4 . 2. Deferred Shading. Exploration of deferred shading (rendering). Deferred Shading. Exploration of deferred shading (rendering). A problem with forward rendering.
E N D
4.2.Deferred Shading Exploration of deferred shading (rendering)
Deferred Shading 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 geometry.
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. • 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).
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 anti-aliasing 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: Killzone LittleBigPlanet Stalker Dead Space Tabula Rasa Grand Theft Auto IV
Examples Deferred rendering examples
Diffuse Lighting • Specular Lighting
Deferred particle rendering View the DirectX SDK Deferred Particles sample
Directed reading Directed Reading 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
Directed reading 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: Directed reading http://www.gamerendering.com/category/rendering-methods/
Summary Today we explored: • Introduction to deferred shading (rendering) • Typical advantages and disadvantages of deferred rendering To do: • Read the directed reading • Think if you would like to build a deferred renderer for your project