Look at the signature of rotate()
:
template< typename T >
detail::tvec3< T > rotate( detail::tvec3< T > const &v, T const &angle, detail::tvec3< T > const &normal )
Note that v
is passed in as a const reference.
rotate()
returns a rotated vector. It doesn't (can't!) rotate v
in-place.
Try this:
car_param->dir = glm::rotate(car_param->dir,0.5f,glm::vec3(0,1,0));