我有一个相当简单的设置,一个0,0,0的模型,带有:
projection = glm::perspective(fov, aspectRatio, near, far);
model = glm::mat4(1.0);
我想要一款灵活的相机,就像我读到的最好描述为FPS相机一样。
现在我有:
glm::mat4 CameraMatrix = glm::lookAt(
glm::vec3(cameraPosition.X,cameraPosition.Y,cameraPosition.Z), // camera, in world space
glm::vec3(cameraTarget.X,cameraTarget.Y,cameraTarget.Z), // direction vector eye + Dir
glm::vec3(upVector.X,upVector.Y,upVector.Z)
);
非常如下所述:http://www.opengl-tutorial.org/beginners-tutorials/tutorial-6-keyboard-and-mouse/
除了一件事,鼠标上下都按预期进行,但鼠标左右旋转使得模型围绕相机位置旋转而不是相机围绕模型旋转?我做错了吗?
我的印象是,这需要至少一些额外的轮换和翻译才能使其正常工作。如果是这样,我想知道为什么这似乎无处可见。如果参考" FPS相机"还有很多使用lookat的教程。当我谷歌为它。这让我有点困惑。
现在关于glm :: lookat的例子相当差,我读了一些关于gluLookAt的东西,其中我听到一些声音,至少gluLookAt不能解决这样的任务,这同样适用于glm :: lookat吗?如果是这样,那么正确的方法是什么?我真的没有受到任何影响:无论如何看,只是当我偶然发现它时,我就像是#34;嘿!正是我在寻找的东西#34;它似乎是一个干净,简单的解决方案。 也许有人可以对此有所了解并指出我正确的方向或教程。
答案 0 :(得分:1)