Visible Surface Determination
The Z-Buffer sure made life easy
Hidden surface removal is about getting the correct pixel shown on screen when there are overlapping surfaces. Z-buffer is now the standard.
Binary space partitioning - 1980
By splitting the polygons along the planes of the polygons one can create a BSP tree that can provide a depth sort of all surfaces from any point. Slow process that is not run time friendly.
Z-Buffering - 1974
Painter's algorithm - 1972
Sort the surfaces on back to front order and then draw them.
Warnock algorithm - 1969
This algorithm split the view-port in four equal parts and check what polygons is in each area. If it is only a single polygon then it is draw. If it more polygons then it keeps splitting each area into four until there is a single polygon left or it is down to an area of a single pixel. If it reach a single pixel the polygon that is closest to the screen is drawn.
S-Buffer or Segmented-Buffer - 1999
Avoids drawing surfaces that face away from the camera as they can not be seen.
Getting Direct Access to the DepthBuffer in DirectX10 - 2011
Packing Depth into Color - 2010