OpenGL和DirextX不一样,没有内置的数学库,于是我们需要找一个第三方库,按照LearnOpenGL的教程我们使用GLM库,可以到他们的官网下载
glm常用的数据类型
- vec2 二维向量
- vec3 三维向量
- vec4 四维向量
- mat2 二阶矩阵
- mat3 三阶矩阵
- mat4 四阶矩阵
常用的函数
- glm::radians() 角度制转弧度制
- glm::translate() 创建一个平移矩阵,第一个参数是目标矩阵,第二个参数是平移的方向向量
- glm::rotate() 创建一个将点绕某个轴旋转x弧度的旋转矩阵,第一个参数是弧度,第二个参数是旋转轴
- glm::scale() 创建一个缩放矩阵,第一个参数是目标矩阵,第二个参数是缩放系数
创建裁剪矩阵的函数,位于glm/ext/matrix_clip_space.hpp,这个文件存放裁剪空间相关的API
- glm::ortho(float left, float right, float bottom, float top, float zNear, float zFar); 前两个参数指定了平截头体的左右坐标,第三和第四参数指定了平截头体的底部和顶部。通过这四个参数我们定义了近平面和远平面的大小&#