在使用GLM时,我能够对向量和矩阵(+, - ,*,/)使用操作。出于某种原因,在以下代码行中,它不允许我进行任何操作:
glm::vec2 fixedPos = position + dimensions/2; // <- Error is on the '/'
(“position”和“dimensions”都是“const glm :: vec2”类型)
错误: 没有运算符“/”匹配这些操作数;操作数类型是:const glm :: vec2 / int
(用任何其他数学运算符替换“/”将导致相同的错误)
我发现为什么这不起作用令人讨厌和奇怪。错误是说我的语法不正确,当它要求的是我放的!如果您发现问题,请在下面发布答案。谢谢你的帮助!
答案 0 :(得分:1)
试试这个:
glm::vec2 fixedPos = position + dimensions / 2.0f;
vec2
实际上是typedef
到highp_vec2
,typedef
到tvec2<float, highp>
(参见glm/detail/type_vec.hpp
)