The z-buffer, or depth buffer, is a region of memory that stores a depth value for every pixel in the image being rendered, parallel to the color framebuffer. It solves the hidden surface problem: when many surfaces project to the same pixel, the z-buffer records the depth of the nearest one seen so far, so that a newly rasterized fragment is drawn only if it is closer than what is already there. Because the test is performed independently per pixel as fragments arrive, geometry can be drawn in any order, which makes the technique simple, robust, and well suited to hardware.
The depth buffer was introduced in Edwin Catmull’s 1974 University of Utah PhD dissertation, “A Subdivision Algorithm for Computer Display of Curved Surfaces.” The thesis was primarily about displaying curved patches by recursively subdividing them down to pixel size, but in solving the resulting visibility problem Catmull described keeping a buffer of depth values, one per screen point, and comparing each newly computed surface element against the stored depth before overwriting it. This straightforward image space algorithm trades memory for simplicity, and at the time its memory cost was considered extravagant.
The algorithm is appealingly direct. The depth buffer is cleared to the farthest representable distance. As each primitive is rasterized, every fragment carries an interpolated depth; the renderer compares that depth to the value stored for the pixel, and if the fragment is nearer it writes both the fragment’s color into the framebuffer and its depth into the z-buffer. Otherwise the fragment is discarded. No global sorting of polygons is required, which is the key advantage over earlier hidden surface methods that depended on ordering primitives front to back.
As memory became inexpensive, the z-buffer’s appetite for storage stopped being a drawback, and it became the dominant hidden surface technique. Every modern GPU implements depth buffering in hardware, with refinements such as early depth testing that rejects occluded fragments before shading them, and hierarchical depth buffers that cull large occluded regions cheaply. The depth precision is distributed nonuniformly along the view direction because depth is typically stored after perspective division, which concentrates precision near the camera.
Catmull’s thesis is the primary source for the technique; the same author went on to co-found Pixar and to win a Turing Award for contributions to computer graphics. The depth buffer remains the standard companion to rasterization, quietly resolving visibility in essentially every interactive three dimensional application. The dissertation is preserved as a technical report in the Defense Technical Information Center archive and in scanned copies hosted online.