在注视目标位置并不重要,如果它是Z = 0或Z = 1000或-1000?(The LookAt t

2019-10-16 17:53发布

我在OpenGL ES试图注视,

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

第二行是目标的位置,所以,我想,如果我改变z01000-1000 ,应该不是看到有什么不同? 他们练得都一样,这是为什么?

Answer 1:

从OpenGL的规格为gluLookAt,它规定的投入为:

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

您当前值仅移动center向量沿z飞机,所以你实际上是在寻找从下eye载体。 根据它是什么,你的渲染,你可能根本看不到任何变化(立方体看起来从顶部或底部的相同)。

试着改变你的xy值而不是移动相机,它不垂直于你想看看载体。



Answer 2:

由于X和Y坐标是相机和目标不变,改变z坐标不影响方向的看法是在所有和本作的目的,它的唯一的事项的方向。



文章来源: The LookAt target location doesn't matter if it is z = 0 or z = 1000 or -1000?