glm glx 旋转不起作用
Posted
技术标签:
【中文标题】glm glx 旋转不起作用【英文标题】:glm glx rotation does not work 【发布时间】:2013-12-30 23:23:00 【问题描述】:我正在做一个驱动模拟项目。我在 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) 上。
【问题讨论】:
【参考方案1】:Lookrotate()
签名处:
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));
【讨论】:
以上是关于glm glx 旋转不起作用的主要内容,如果未能解决你的问题,请参考以下文章