Fix precision loss on small angles in qua's angle

master
Quentin Santos ago%!(EXTRA string=6 years)
parent c597094980
commit 3a41107d10
  1. 7
      glm/ext/quaternion_trigonometric.inl

@ -1,8 +1,15 @@
#include "scalar_constants.hpp"
namespace glm
{
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER T angle(qua<T, Q> const& x)
{
if (abs(x.w) > cos_one_over_two<T>())
{
return asin(sqrt(x.x * x.x + x.y * x.y + x.z * x.z)) * static_cast<T>(2);
}
return acos(x.w) * static_cast<T>(2);
}

Loading…
Cancel
Save