我正在 OpenGL ES 中尝试 LookAt,
gluLookAt(512, 384, 2000,
512, 384, 0,
0.0f, 1.0f, 0.0f);
第二行是目标的位置......所以我想知道,如果我将z
from更改0
为1000
or -1000
,不应该看到什么不同吗?结果都是一样的,这是为什么呢?
从 gluLookAt 的 OpenGL 规范中,它将输入声明为:
gluLookAt(GLdouble eyeX , GLdouble eyeY , GLdouble eyeZ ,
GLdouble centerX , GLdouble centerY , GLdouble centerZ ,
GLdouble upX , GLdouble upY , GLdouble upZ );
您当前的值仅center
沿z
平面移动矢量,因此您实际上是从eye
矢量向下看。根据您正在渲染的内容,您可能根本看不到任何变化(立方体从顶部或底部看起来都是一样的)。
尝试更改您的x
andy
值,以将相机移动到它不垂直于您要查看的矢量。
由于相机和目标的 x 和 y 坐标相同,因此更改 z 坐标根本不会影响视图所在的方向,为此,只有方向才是重要的。