2015-10-12 73 views
0

在使用GLM时,我已经能够在向量和矩阵(+, - ,*,/)上使用操作。出于某种原因,在下面的代码行,它不会让我做任何操作:glm :: vec2不允许操作

glm::vec2 fixedPos = position + dimensions/2; // <- Error is on the '/' 

(“位置”和“尺寸”的类型都是“常量GLM :: VEC 2”的)

错误: 没有操作符“/”匹配这些操作数;操作数类型是:const的GLM :: VEC 2/INT

(与任何其他数学运算符将导致同样的错误取代“/”)

我觉得很讨厌,奇怪为什么这是行不通的。错误是说我的语法不正确,当它要求的是我放的!如果您发现此问题,请在下面发布答案。谢谢你的帮助!

回答

1

试试这个:

glm::vec2 fixedPos = position + dimensions/2.0f; 

vec2实际上是一个typedefhighp_vec2这是一个typedeftvec2<float, highp>(参见glm/detail/type_vec.hpp

+0

谢谢,没有工作!我很困惑为什么Visual Studio会告诉我,正确的语法是'const glm :: vec2/int',实际上我需要将'const glm :: vec2/float'。 – gooroo7