泰宁新闻网

glm,glm啥意思

鞋

泰宁新闻网 http://www.tainingxinwen.cn 2020-07-01 09:39 出处:网络
glm,glm啥意思,OpenGL学习笔记(4) GLM库的使用 OpenGL和DirextX不一样,没有内置的数学库,于是我们需要找一个第三方库,按照LearnOpenGL的教程我们使用GLM库,可以到他们的官网下载

glm,glm啥意思,OpenGL学习笔记(4) GLM库的使用

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); 前两个参数指定了平截头体的左右坐标,第三和第四参数指定了平截头体的底部和顶部。通过这四个参数我们定义了近平面和远平面的大小,然后第五和第六个参数则定义了近平面和远平面的距离。 glm::perspective(float fovy, float aspect, float zNear, float zFar); 第一个参数为视锥上下面之间的夹角,第二个参数为宽高比,即视窗的宽/高,第三第四个参数分别为近截面和远界面的深度

其实上面提到的大多数函数基本都是模板函数,只不过我们平时习惯用float的特化,为了测试GLM库,可以试一下简单的对一个点进行位移的操作

 glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f);//创建一个点
 glm::mat4 trans = glm::mat4(1.0f);//创建单位矩阵
 trans = glm::translate(trans, glm::vec3(1.0, 1.0, 1.0));//设置平移矩阵
 vec = trans * vec;//变换矩阵左乘点向量,获得变换后的点
 cout vec.x vec.y vec.z endl;
 system("pause");

将一个点(1, 0, 0)移动(1, 1, 1)

glm,glm啥意思


参考自LearnOpenGL

glm的相关网页热门搜索词

glm啥意思|GLM模型|glm什么档次|glm是森马旗下的吗|glm衣服什么档次|广告联盟|bgm|glm是森马的子品牌吗|glm下载|

本文标题:glm,glm啥意思
http://www.tainingxinwen.cn/qitaxinxi/409407.html

0

精彩评论

暂无评论...
验证码 换一张
取 消