top of page

Explain depth sort algorithm for visible surface determination.

The depth sort algorithm, also known as the painter's algorithm, is a technique used in computer graphics to determine the visibility of surfaces in a 3D scene when rendered onto a 2D display. It works by sorting surfaces based on their depth from the viewer and then rendering them in order, from the furthest to the nearest. Here's a detailed explanation of how the depth sort algorithm works:

  • Calculate Depth Values:

  • For each surface (polygon) in the scene, calculate a representative depth value. This could be the average depth of the vertices of the surface, the depth of the closest vertex, or some other metric.

  • Sort Surfaces by Depth:

  • Sort the surfaces based on their calculated depth values in descending order, so that the farthest surfaces are rendered first and the nearest surfaces are rendered last.

  • Resolve Overlaps:

  • The algorithm needs to handle cases where surfaces overlap. There are several sub-cases to consider:

  • Non-Intersecting Surfaces: If two surfaces do not intersect, they can be sorted based on their depth values directly.

  • Intersecting Surfaces: If surfaces intersect, additional checks or reordering might be needed to correctly determine which part of each surface is visible.

  • Render Surfaces:

  • Render the surfaces in the sorted order. Because surfaces are drawn from back to front, nearer surfaces will naturally cover those that are further away, simulating depth and visibility correctly.


  • Simple to understand and implement.

  • Works well for non-complex scenes where surfaces do not intersect frequently.


  • Inefficient for scenes with many intersecting surfaces.

  • Sorting can become complex in the presence of cyclic overlaps.

  • Not as accurate as depth buffering for detailed scenes.

131 views0 comments


bottom of page