OpenGL 4.4管道-裁剪之前是否进行透视划分?

问题描述

我想向某人咨询opengl insights中的opengl 4.4图形处理管线图,特别是有关透视图划分和原始裁剪顺序的信息。

例如,opengl 4.4中的图显示透视图分割在裁剪之前(绿色部分)。

这是非常阶段性的,因为在裁剪后有充分的理由应该进行分割。否则,当w = 0时会出现问题(尽管可以通过if语句解决),以及有关该点是在摄像机前面还是后面的信息。例如,裁剪空间中的点(0.5,0,0,-1)在NDC中变为(-0.5,0,0),因此似乎在所有方向上都在(-1,1)范围内的立方体内,因此它不会被裁剪,这是错误的。

我只是想知道在该管道图中看到了什么错误,或者它实际上是在opengl中以这种方式发生的,为什么?

解决方法

该图是错误的;就这么简单。请注意,如果遵循以下流程图,则标准中引用的部分似乎会往后退:13.4, 13.6 ,13.5。该标准通常不会使类似的事情变得混乱。