我在C ++中使用OpenGL以及GLM库。我正在使用glm::lookAt
函数作为我的视图矩阵。在我的代码中,它看起来像这样:
glm::lookAt(mMainCamera.position, mMainCamera.target, glm::vec3(0,1,0))
如您所见,我设置向上向量以查找。但现在我遇到了问题。
例如,当我的眼睛位置为5, 10, 7
且我的目标位置为5, 0, 0
时,一切正常。但是当我将目标位置更改为0, 0, 0
时,相机会倾斜。看来,当目标和眼睛的X位置彼此不同时,相机会倾斜。
这是一个已知问题,是否有解决方案。或者我做错了什么?