变换相机OpenGL
Transform camera OpenGL
如何在界面左侧变换相机?需要将"eye"矢量旋转到"up"矢量周围!?
void Transform::left(float degrees, vec3& eye, vec3& up) {
float c = cosf(degrees * (pi / 180));
float s = sinf(degrees * (pi / 180));
}
mat4 Transform::lookAt(vec3 eye, vec3 up) {
glm::mat4 view = glm::lookAt(
glm::vec3(eye.x, eye.y, eye.z),
glm::vec3(0.0f, 0.0f, 0.0f),
glm::vec3(up.x, up.y, up.z)
);
return view;
}
通过将旋转向量乘以原始的未旋转的眼睛向量来计算旋转的眼睛向量,并将其传递给lookAt
函数。
float rotX = cosf(angle * (pi / 180));
float rotY = sinf(angle * (pi / 180));
glm::vec3 rotatedEye = glm::vec3(eye.x * rotX , eye.y * rotY, eye.z)
glam::mat4 view = lookAt(rotatedEye, up);
注意,每次你的相机矢量改变,你将需要计算一个新的视图矩阵。
相关文章:
- 了解 GLM- openGL 中的相机转换
- OpenGL相机和相机空间转型的困惑
- OpenGL 相机移动程序顶点着色器问题
- OpenGL 正交相机变焦无法正常工作
- 在 opengl 中翻译相机时遇到问题
- 如何使用gluLookAt围绕OpenGL中的点旋转相机视图
- OpenGL - 让相机移动
- OpenGL使对象坚持到相机
- OpenGL-绘制相机空间后,将模型放置在世界空间中
- 将相机变换应用于 OpenGL
- 定向图形以使用 OpenGL 查看相机
- 如何使OpenGL相机旋转360度
- 用于相机的C++OpenGL四元数将其倒置
- C++OpenGl相机旋转使用四元数问题
- Opengl相机和乘法矩阵
- OpenGL相机太落后了
- OpenGL相机位置和天空盒
- 我的OpenGL相机运动的问题
- OpenGL 相机旋转不起作用
- OpenGL -相机轨道点与四元数