4 . 2. Deferred Shading

Preview:

DESCRIPTION

4 . 2. Deferred Shading. Exploration of deferred shading (rendering). Deferred Shading. Exploration of deferred shading (rendering). A problem with forward rendering. - PowerPoint PPT Presentation

Citation preview

4.2. DEFERRED SHADINGExploration of deferred shading (rendering)

DEFERRED SHADINGExploration of deferred shading (rendering)

A problem with forward renderingIn 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 renderingDeferred 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 renderingTypically geometric information is output within a ‘geometry buffer’ (typically just handled as a texture within a shader) using multiple render targets (MRT).

Deferred renderingAnother 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 renderingA 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

EXAMPLESDeferred rendering examples

Leadwerks: Albado (diffuse)

Leadwerks: Depth

Leadwerks: Normal

Leadwerks: Specular

Diffuse Lighting

Specular 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 READINGDirected reading concerning deferred reading

Directed

reading

Directed 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

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:

Summary

To do:Read the directed

readingThink 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

Recommended