我一直试图使用gluLookAt,但我遇到了一些问题...我的第一个是相机的默认位置,每当我尝试使用它时,我的整个场景似乎都是侧向和向上旋转.. .. 我的第二个问题是....从我所看到的是gluLookAt(Posx,Posy,PosZ,yaw,pitch,roll,然后是三个向量)
但是偏航俯仰和滚动的顺序是什么?
解决
相机的默认位置是gluLookAt(0,0,0,0,0,-1,0,1,0);
谢谢Drew的所有帮助:D
答案 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>