1

我正在 OpenGL ES 中尝试 LookAt,

    gluLookAt(512, 384, 2000,
              512, 384, 0,
              0.0f, 1.0f, 0.0f);

第二行是目标的位置......所以我想知道,如果我将zfrom更改01000or -1000,不应该看到什么不同吗?结果都是一样的,这是为什么呢?

4

2 回答 2

3

从 gluLookAt 的 OpenGL 规范中,它将输入声明为:

gluLookAt(GLdouble eyeX , GLdouble eyeY , GLdouble eyeZ , 
          GLdouble centerX , GLdouble centerY , GLdouble centerZ , 
          GLdouble upX , GLdouble upY , GLdouble upZ );

您当前的值仅center沿z平面移动矢量,因此您实际上是从eye矢量向下看。根据您正在渲染的内容,您可能根本看不到任何变化(立方体从顶部或底部看起来都是一样的)。

尝试更改您的xandy值,以将相机移动到它不垂直于您要查看的矢量。

于 2012-05-17T11:18:06.983 回答
1

由于相机和目标的 x 和 y 坐标相同,因此更改 z 坐标根本不会影响视图所在的方向,为此,只有方向才是重要的。

于 2012-05-17T11:10:59.790 回答