This document discusses different algorithms for visible surface detection in 3D computer graphics. It describes two main types of algorithms - object space algorithms that determine which parts of objects are visible, and image space algorithms that determine visibility on a per-pixel basis. It then explains four specific algorithms in more detail: back-face elimination, depth buffering, depth sorting, and ray casting. For each algorithm it provides an overview of the approach, terminology, and considerations around performance and implementation. The document concludes by comparing the different algorithms and noting how factors like hardware availability and scene complexity should guide algorithm selection.