我对从glOrtho
方法生成的视图体积感到困惑,我知道最后两个参数是针对 Z 轴的,第一个代表观察者和近平面之间的距离,第二个代表观察者和远平面之间的距离。
我的问题是查看器(相机)恰好位于 Z 坐标中的位置?
在这个链接程序中,一些代码使近平面为正,远平面为负,在这种情况下,我们可以说 Z- 在查看器后面,Z+ 在查看器前面吗?
如果是,请尝试将其中一个三角形的所有顶点的 Z 坐标设为负值,您会注意到它虽然在观察者后面,但它出现了,为什么?
第一个表示观察者和近平面之间的距离,第二个表示观察者和远平面之间的距离
不,不是。正交投影定义了一个盒子。zNear 和 zFar 是框的位置,而不是与“查看者”的距离。
正交投影不像透视投影那样有“观察者”。它们有一个观察方向,而不是一个观察位置。并且视图的方向始终是使 zFar 最远而 zNear 最接近的方向。如果 zNear 大于 zFar,则观察方向为正 Z;否则为负 Z。
其实你的问题有点混乱。我认为您可以尝试 glLookAt() 并使对象从不同的角度出现并查看差异。这是一个链接 http://mycodelog.com/2010/05/28/glcamera/