Opengl 为什么';远';有助于在平截头体中接近平原?

Opengl 为什么';远';有助于在平截头体中接近平原?,opengl,Opengl,在openGL中,我使用 PxV P由glPerspect制成,V由gluLookAt制成 起初,, 我认为P的“远”因子不影响截头体近平面中的顶点,但它确实影响 然后我假设这只是浮点精度误差,所以在实际公式中没有“远”因子。 我计算它来证明我的假设,但我失败了。我无法删除包含(近+远)/(2*近*远)形式的术语 我认为平截头体的近平面必须独立于“远”因素。我不能理解这种情况。我在哪里犯了错误?你认为近和远是如何独立的?它们用于计算Z深度,并且有固定数量的Z深度箱子。如果它们相差几个数量级,并且

在openGL中,我使用
PxV P由glPerspect制成,V由gluLookAt制成

起初,, 我认为P的“远”因子不影响截头体近平面中的顶点,但它确实影响

然后我假设这只是浮点精度误差,所以在实际公式中没有“远”因子。 我计算它来证明我的假设,但我失败了。我无法删除包含(近+远)/(2*近*远)形式的术语


我认为平截头体的近平面必须独立于“远”因素。我不能理解这种情况。我在哪里犯了错误?

你认为近和远是如何独立的?它们用于计算Z深度,并且有固定数量的Z深度箱子。如果它们相差几个数量级,并且对象彼此相邻,则在Z深度上无法再区分它们。OpenGL需要片段的深度介于-1和1之间;经典透视投影矩阵将
near
转换为-1,将
far
转换为1。然而,无限深度透视投影矩阵是存在的:看,我通过逆矩阵乘以(-1,-1,0)得到了近平面的顶点。我认为近平面与远无关,因为近平面与方向垂直,与眼睛的距离是“近”的。以下是我的假设