There are two main categories of visible surface detection algorithms: object-space methods that compare objects in a 3D scene, and image-space methods that determine visibility on a per-pixel basis. The painter's algorithm sorts polygons by depth and draws more distant polygons before closer ones, covering some areas. The binary space partitioning algorithm draws polygons farther from the viewpoint before closer ones. Back face detection identifies whether a surface's normal vector points towards or away from the viewpoint.