我在OpenGL ES中尝试LookAt,
gluLookAt(512, 384, 2000,
512, 384, 0,
0.0f, 1.0f, 0.0f);
第二行是Target的位置......所以我想知道,如果我将z
从0
更改为1000
或-1000
,那么不应该是什么见不同?事实证明它们都是一样的,为什么会这样?
答案 0 :(得分: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
向量向下看。根据您正在渲染的内容,您可能根本看不到任何更改(从顶部或底部看,立方体看起来都相同)。
尝试更改x
和y
值,而不是将相机移动到与您尝试查看的矢量不垂直的位置。
答案 1 :(得分:1)
由于摄像机和目标的x和y坐标相同,因此更改z坐标不会影响视图的方向,并且出于此目的,它只是重要的方向。 / p>