为何OpenGL中多边形深度值必须通过公式(14.10)进行插值?
OpenGL深度插值相关疑问与验证
OpenGL规范内容

规范中提到:然而,多边形的深度值必须通过公式(14.10)进行插值。
核心疑问
为什么必须用公式(14.10)插值?z坐标是相机空间中的深度值吗?如果是这样,我们应该使用符合透视原理的重心坐标来插值,就像公式(14.9)那样,不是吗?
验证更新
后续确认z坐标是NDC坐标(已除以w)。我做了一个光栅化器Demo:
- 对NDC z坐标进行线性插值时,结果出现异常:

- 对相机空间z坐标进行符合透视原理的插值时,结果正常。
使用的透视投影矩阵如下:
内容的提问来源于stack exchange,提问作者a1mersnow
相关产品推荐
相关产品推荐

