如何计算三角形的Z值?

时间:2016-02-07 22:38:16

标签: graphics 3d

我正在尝试为多边形光栅化算法实现Z缓冲区(深度缓冲区)。我的所有多边形都是三角形,我知道构成三角形的三个点(x,y,z)也形成一个平面。如果我有问题的(x,y,z)值,我如何计算三角形面上每个位置的深度?

1 个答案:

答案 0 :(得分:1)

在OpenGl或WebGl中,仅在rasterization之后应用z缓冲区,即对于每个像素,而不是对于三角形的每个顶点。在这种情况下,您需要为每个像素保存z值,然后只获得这个最大z值的像素。这是在pipeline中自动完成的。

如果你想为顶点计算一个z缓冲区,你需要自己的算法。例如,只获取三角形顶点的最大z值,并按此值对三角形进行排序。

另请查看此link以获取更多信息。