Deferred shading

Diffuse Color G-Buffer
Z-Buffer
Surface Normal G-Buffer
Final compositing (to calculate the shadows shown in this image, other techniques such as shadow mapping, shadow feelers or a shadow volume must be used together with deferred shading).[1]

In the field of 3D computer graphics, deferred shading is a screen-space shading technique that is performed on a second rendering pass, after the vertex and pixel shaders are rendered.[2] It was first suggested by Michael Deering in 1988.[3]

On the first pass of a deferred shader, only data that is required for shading computation is gathered. Positions, normals, and materials for each surface are rendered into the geometry buffer (G-buffer) using "render to texture". After this, a pixel shader computes the direct and indirect lighting at each pixel using the information of the texture buffers in screen space.

Screen space directional occlusion[4] can be made part of the deferred shading pipeline to give directionality to shadows and interreflections.

  1. ^ Hargreaves, Shawn; Harris, Mark (2004). "6800 Leagues Under the Sea: Deferred Shading" (PDF). Nvidia. Archived (PDF) from the original on November 22, 2009. Retrieved January 6, 2021.
  2. ^ "Forward Rendering vs. Deferred Rendering".
  3. ^ Cite error: The named reference sig1 was invoked but never defined (see the help page).
  4. ^ O'Donnell, Yuriy (July 18, 2011). "Deferred Screen Space Directional Occlusion". kayru.org. Archived from the original on October 22, 2012.