引擎开发一: glm库及使用
glm是一个发展了十年以上的数学库,opengl没有内置的数学库,一般引擎开发都使用glm库作为数学库。官方网址为:https://glm.g-truc.net/安装及使用环境:win7 VS20131. 下载glm:github地址:https://github.com/g-truc/glm2. opengl项目配置: 因为glm库实现都写在头文件中,不需要编译成库,项目中...
文章共664字 · 阅读需要大约3分钟
一键AI生成摘要,助你高效阅读
问答
·
glm是一个发展了十年以上的数学库,opengl没有内置的数学库,一般引擎开发都使用glm库作为数学库。
官方网址为:https://glm.g-truc.net/
安装及使用
环境:win7 VS2015
1. 下载glm:
github地址:https://github.com/g-truc/glm
2. opengl项目配置:
因为glm库实现都写在头文件中,不需要编译成库,项目中直接引用头文件目录即可。
a. 项目属性 ----> C/C++ —> 附加包含目录 —> your_path\glm-master
3. 代码:
#include <iostream>
#include <glm/vec3.hpp> // glm::vec3
#include <glm/vec4.hpp> // glm::vec4
#include <glm/mat4x4.hpp> // glm::mat4
#include <glm/ext/matrix_transform.hpp> // glm::translate, glm::rotate, glm::scale
int main() {
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;//变换矩阵左乘点向量,获得变换后的点
std::cout << vec.x << vec.y << vec.z << std::endl;
system("pause");
}
4. 运行结果:
更多推荐
已为社区贡献6条内容
所有评论(0)