我正在从事一个驾驶模拟项目,我在VS2010 IDE上使用opengl。
有一个向量glm::vec3 3 'dir‘表示对象’car_param‘(不重要),我想使用glm\glx旋转函数来旋转它。
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)上,这是初始值。
发布于 2013-12-30 23:30:32
看在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));https://stackoverflow.com/questions/20849262
复制相似问题