Deferred Shading
Deferred shading is a computer graphics rendering technique that separates geometry processing from lighting calculations. It first renders scene geometry into multiple buffers (G-buffers) storing attributes like position, normal, and material properties, then performs lighting and shading in a second pass using these buffers. This approach is particularly efficient for scenes with many lights, as it avoids redundant shading calculations per light source.
Developers should use deferred shading when creating real-time 3D applications with complex lighting scenarios, such as games with numerous dynamic lights, architectural visualizations, or VR experiences. It's especially valuable when performance is critical and traditional forward rendering becomes inefficient due to light count, as it decouples lighting complexity from geometric complexity. However, it requires more memory bandwidth and has limitations with transparency and anti-aliasing compared to forward rendering.