A framebuffer is a region of memory that holds the pixel data representing a complete frame to be displayed or further processed, typically organised as colour, depth, and stencil buffers. In a graphics pipeline, rendering operations write their results into a framebuffer, which the display hardware then scans out to a screen or which subsequent passes read as input. Framebuffers are central to double buffering, post-processing, off-screen rendering, and the multi-pass techniques that underpin modern real-time graphics.

Overview

  • The framebuffer is the destination of the rendering process and the bridge between computation and display. Beyond the final colour image, modern framebuffers aggregate auxiliary buffers — depth for occlusion, stencil for masking, and multiple colour attachments for deferred shading and G-buffers. Off-screen framebuffers (render targets) feed post-processing effects such as bloom, tone mapping, and anti-aliasing, while double or triple buffering prevents visible tearing by separating the buffer being drawn from the one being displayed.

Mechanisms

  • Colour, depth, and stencil attachments forming a complete frame
  • Double and triple buffering to avoid tearing
  • Off-screen render targets for multi-pass rendering
  • Multiple render targets enabling deferred shading and G-buffers
  • Scan-out of the front buffer to the display device

Applications

  • Real-time game and engine rendering
  • Post-processing pipelines (bloom, tone mapping, anti-aliasing)
  • Deferred and forward+ shading
  • XR compositing and lens distortion correction
  • GPU image processing and compute readback

Provenance

  • This class was materialised to resolve inbound references from existing classes in the knowledge graph.