OpenGL 4.4 管道 - 裁剪前的透视分割?

OpenGL 4.4 pipeline - perspective division before clipping?

我想咨询一下opengl insights中找到的opengl 4.4图形处理流水线图,特别是关于透视分割和图元裁剪顺序。

以 opengl 4.4 中的图表为例,显示透视分割先于裁剪(绿色部分)。

这是非常重要的,因为有充分的理由在裁剪之后进行除法。否则当 w=0 时会有问题(虽然可以通过 if 语句解决),以及有关该点是在相机前面还是后面的信息。例如,裁剪 space 中的点 (0.5, 0, 0, -1) 在 NDC 中变为 (-0.5, 0, 0),因此似乎在立方体内部,范围为 (-1, 1)所有方向,所以它不会被剪裁,这是错误的。

我只是想知道我在那个管线图中看到了什么错误,或者它在 opengl 中真的是这样发生的,为什么?

图表有误;就这么简单。请注意,如果您遵循流程图,标准中引用的部分似乎是倒退的:13.4、13.6、13.5。标准通常不会把这样的事情弄乱。