什么是glm的vec1,vec2,vec3,以及我应该如何/何时使用它们?

时间:2014-08-29 08:00:31

标签: c++ opengl glm-math

我有一个任务,讲师在他的模板代码中使用“glm :: vec2”。谁能告诉我vec2是什么?我在glm参考中找不到它。但是,我可以找到vec1。这让我觉得vec2用于2D,vec3用于3D等,但我可能错了。

有人可以告诉我vec2是什么,它的应用是什么?

编辑:哦,嘿,我知道很多线性代数 - 我当然知道什么是向量,矩阵,单位矩阵和仿射变换。我特别询问了glc的vec2类。

2 个答案:

答案 0 :(得分:2)

glm的vec2是一个代表2D矢量的实用类,还有vec3,vec4类可分别用于3D和4D。

GLM还提供遵循相同命名条件mat2,mat3,mat4的矩阵类。 您可以使用重载*运算符将矩阵与矩阵或矩阵与向量相乘。

有关opengl中矩阵和向量的更多信息,请参阅本教程:opengl-tutorial.org

答案 1 :(得分:0)

你可以在glm&lt; type_vec.hpp中看到vec2 / vec3 / vec4 typedef。看一下github repo here。 typedef别名的类型取决于哪个GLM_PRECISION_XXXXXX宏处于活动状态。 vec2将成为tvec2专业化的别名;例如:tvec2<float, highp>tvec2定义为herehere