[英]glm glx rotation does not work
我正在研究驱动器仿真项目,正在VS2010 IDE上使用opengl。
我要使用glm \\ glx旋转功能旋转的对象'car_param'(不重要)有一个向量glm :: vec3'dir'。
glm::rotate(car_param->dir,0.5f,glm::vec3(0,1,0));
它正在成功编译,但是在运行时无效。 我尝试用以下方法进行测试:
cout<<car_param->dir.x<<"\t"<<car_param->dir.y<<"\t"<<car_param->dir.z<<"\n";
旋转之后,但它停留在初始值(0,0,-1)上。
看一下rotate()
的签名:
template< typename T >
detail::tvec3< T > rotate( detail::tvec3< T > const &v, T const &angle, detail::tvec3< T > const &normal )
请注意, v
作为const引用传入。
rotate()
返回旋转的向量。 它不会(不能!)原位旋转v
。
尝试这个:
car_param->dir = glm::rotate(car_param->dir,0.5f,glm::vec3(0,1,0));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.