The document describes the Z-buffer algorithm for hidden surface removal in 3D graphics. The Z-buffer algorithm works by processing each surface individually and comparing the depth (z-coordinate) of pixels across surfaces. Pixels with smaller z-values, which are closer to the viewpoint, are determined to be visible and their color values are written to the frame buffer. A depth buffer stores the z-value of each pixel to track the closest surface at that point. This algorithm efficiently handles polygon surfaces by processing them in any order and using the depth and frame buffers to override closer polygons.