glm库-改变mvp矩阵-控制视角或模型
投影矩阵
QMatrix4x4 m_projection;
投影矩阵计算
【相机的视场角fov,最近距离,zNear,最远距离zFar,宽高比aspect】
qreal aspect = qreal((mWidth)) / qreal(mHeight ? mHeight : 1); // Set near plane to 3.0, far plane to 7.0, field of view 45 degrees const qreal zNear = 0.2, zFar = 10000.0, fov = 75.0; m_projection.setToIdentity(); m_projection.perspective(fov, aspect, zNear, zFar);
这个体型区域内的额 物体会被投影。
view 矩阵
描述相机(眼睛)是怎么观察 物体 的。
|
model 矩阵控制模型旋转
QMatrix4x4 model; model.rotate(m_xrot, 1.0f, 0.0f, 0.0f); model.rotate(m_yrot, 0.0f, 1.0f, 0.0f); model.rotate(m_zrot, 0.0f, 0.0f, 1.0f); |
MVP model view project 矩阵(其实是 project * view * model *obj)
将obj 坐标 渲染到屏幕上面的(u,v)点
(u,v) = projectMatrix * view * model * obj
|
参考文档
https://blog.csdn.net/zhangpengzp/article/details/88749779
https://www.itranslater.com/qa/details/2582874717636002816
http://www.dovov.com/glm-lookat.html