0

我对从glOrtho方法生成的视图体积感到困惑,我知道最后两个参数是针对 Z 轴的,第一个代表观察者和近平面之间的距离,第二个代表观察者和远平面之间的距离。

我的问题是查看器(相机)恰好位于 Z 坐标中的位置?

在这个链接程序中,一些代码使近平面为正,远平面为负,在这种情况下,我们可以说 Z- 在查看器后面,Z+ 在查看器前面吗?

如果是,请尝试将其中一个三角形的所有顶点的 Z 坐标设为负值,您会注意到它虽然在观察者后面,但它出现了,为什么?

4

2 回答 2

4

第一个表示观察者和近平面之间的距离,第二个表示观察者和远平面之间的距离

不,不是。正交投影定义了一个盒子。zNear 和 zFar 是框的位置,而不是与“查看者”的距离。

正交投影不像透视投影那样有“观察者”。它们有一个观察方向,而不是一个观察位置。并且视图的方向始终是使 zFar 最远而 zNear 最接近的方向。如果 zNear 大于 zFar,则观察方向为正 Z;否则为负 Z。

于 2013-03-11T11:31:54.800 回答
0

其实你的问题有点混乱。我认为您可以尝试 glLookAt() 并使对象从不同的角度出现并查看差异。这是一个链接 http://mycodelog.com/2010/05/28/glcamera/

于 2013-03-11T11:32:47.247 回答