【问题标题】:glm glx rotation does not workglm glx 旋转不起作用
【发布时间】: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) 上。

【问题讨论】:

    标签: c++ opengl rotation glm-math


    【解决方案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));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多