[试图将视矩阵调整为顶视图。无法使相机向下旋转而不是直视]
else if (keyboard_key == GLFW_KEY_2 && keyaction == GLFW_PRESS) {
// set camera's view matrix
planet_camera.setViewMatrix(glm::vec3(0.0f,20.0f,0.0f), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(-5.0f,-0.0f, 0.0f));
render_scene();
}
void Camera::setViewMatrix(glm::vec3 position, glm::vec3 lookAt, glm::vec3 up)
{
mPosition = position;
mLookAt = lookAt;
mUp = up;
mViewMatrix = glm::lookAt(mPosition, mLookAt, mUp);
}
更改位置后,是否确定要以统一的形式发送视图矩阵?另外,我认为您的上向量错误。试试:
glm::vec3(0.0f, 1.0f, 0.0f)
up-vector是全局“ up”