繁体   English   中英

用glm创建视图矩阵

[英]Creating a view matrix with glm

我正在尝试使用glm创建视图矩阵。 我知道glm::lookAt并了解它是如何工作的。 我想知道是否有类似的函数可以实现采用不同参数的相同结果。 例如,是否有一个函数接受一个上矢量,一个在垂直于该矢量的平面上定向的方向以及一个角度? (即,天空就是这样,我向左转动N度/弧度,然后将头部向上倾斜M度/弧度)。

您可以通过组合一组操作来构建矩阵:

// define your up vector
glm::vec3 upVector = glm::vec3(0, 1, 0);
// rotate around to a given bearing: yaw
glm::mat4 camera = glm::rotate(glm::mat4(), bearing, upVector);
// Define the 'look up' axis, should be orthogonal to the up axis
glm::vec3 pitchVector = glm::vec3(1, 0, 0);
// rotate around to the required head tilt: pitch
camera = glm::rotate(camera, tilt, pitchVector);

// now get the view matrix by taking the camera inverse
glm::mat4 view = glm::inverse(camera);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM