Forward Rendering VS Deferred Rendering

Preface

Understanding difference between forward rendering and deferred rendering.

Source From

https://gamedevelopment.tutsplus.com/articles/forward-rendering-vs-deferred-rendering--gamedev-12342 https://www.youtube.com/watch?v=C8FK9Xn1gUM

Summary

  • Modern graphics pipe line
    • Vertex Shader: +position +normal +texCoord
    • Geometry Shader: Executes once for each primitive
    • Fragment Shader: pixel color
  • Deferred lighting is a modification of deferred rendering that reduces the size of the G-buffer by using more passes on the scene.
  • Lighting is the main reason for going one route versus the other.
  • Deferred Rendering
    • Doesn’t support alpha blending.
    • Require high bandwidth.
    • No anti-aliasing.
  • In case using many dynamic light, deferred rending will be a better choice.

Nomenclature

  • G-buffer: The combination of 2D image buffers. Diffuse Specular, Normals, Depth.
  • Vertex shader: A single vertex point
  • Geometry shader: Takes each transformed primitive. Create mathematical meshes based on a point.
  • Pixel shader(= Fragment Shader): Calculate the color of a pixel on the screen.