2016-02-07 87 views
1

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

回答

1

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

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

另请参阅link了解更多信息。