https://haqr.eu/tinyrenderer/z-buffer/

Painter's algorithm (画家算法)

不丢弃任何一个三角形,将其全部绘制出来。不过按照从后到前的顺序来绘制,那么前面的三角形会覆盖掉后面的三角形。这种技术被称为“画家算法”。

缺点

  1. 计算成本非常高,每次都要排序

  2. 结果的正确性无法得到保证,例如三角形彼此重叠

    painter.svg

(其实解决的方案很简单,我们没有必要按照三角形排序,直接单像素处理就可以了。

Depth Interpolation (深度插值)

遍历所有的三角形,然后涂色每个三角形中的所有像素。由于这些三角形没有经过正确的排序,因此会出现视觉上的瑕疵。