C ++ OpenGL gluLookAt帮助

时间:2011-05-07 03:30:44

标签: c++ opengl

我一直试图使用gluLookAt,但我遇到了一些问题...我的第一个是相机的默认位置,每当我尝试使用它时,我的整个场景似乎都是侧向和向上旋转.. .. 我的第二个问题是....从我所看到的是gluLookAt(Posx,Posy,PosZ,yaw,pitch,roll,然后是三个向量)

但是偏航俯仰和滚动的顺序是什么?

解决
相机的默认位置是gluLookAt(0,0,0,0,0,-1,0,1,0); 谢谢Drew的所有帮助:D

1 个答案:

答案 0 :(得分:5)

你似乎得到了一些关于gluLookAt()参数的错误信息。从OpenGL 2.1 online documentation,参数应如下:

eyeX, eyeY, eyeZ:
  World coordinates of camera location

centerX, centerY, centerZ:
  World coordinates of camera aimpoint (what it's looking at).
  This point will be in the center of the resulting image, assuming
  that it lies between the near & far clip planes.

upX, upY, upZ:
  A vector (preferrably orthogonal to the line of sight) that specifies the
  roll orientation of the camera (that is, which way is "up" in the image).

如您所见,没有明确提及俯仰,翻滚或偏航。

此外,默认情况下,如果我没记错的话,相机处于(0,0,-1) - 但这并不重要,因为你几乎总是在将模型视图矩阵设置为身份时调用gluLookAt。 / p>