4.2. D EFERRED S HADING Exploration of deferred shading (rendering)

Embed Size (px)

Citation preview

  • Slide 1
  • 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
  • Slide 9
  • Deferred rendering examples
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • View the DirectX SDK Deferred Particles sample
  • Slide 26
  • Directed reading concerning deferred reading Directed reading
  • Slide 27
  • 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