Rendering

G-Buffer

Geometry data cached for deferred lighting

Also known as: Geometry Buffer

Definition

The G-Buffer (geometry buffer) is the set of full-screen render targets a deferred renderer writes during its geometry pass — typically world-space normals, albedo, roughness, metalness, and depth. Lighting and post-processing then sample these textures to compute the final image. Understanding the G-Buffer matters when debugging shading bugs, custom decals, or any effect that reads scene attributes mid-frame.

In production

In Unreal Engine 5 this includes GBufferA (world-space normal), GBufferB (metalness, specular, roughness), GBufferC (base colour plus indirect lighting), and a separate depth buffer, all viewable directly in the Buffer Visualization view mode. Lighting and post-processing passes then sample these textures to compute the final shaded image, which means any effect that needs to react to what's already on screen — a decal, a custom SSAO variant, a screen-space reflection ray-march — reads from the G-Buffer rather than re-rendering scene geometry. Understanding the G-Buffer matters directly when debugging shading bugs: a material rendering with the wrong roughness under specific lighting is often traceable to which G-Buffer channel a shader node is writing into. It also matters for custom Unreal material functions that need scene depth or normal reconstruction, both exposed as G-Buffer material expression nodes.

Learn G-Buffer in

Tools that use G-Buffer

See also