Fix rotation when vectors are in the same direction #690

This commit is contained in:
Olivier Sohn 2017-10-21 21:17:55 +02:00
parent 7733266417
commit 6f61bb4d2e

View file

@ -184,8 +184,10 @@ namespace glm
T cosTheta = dot(orig, dest);
vec<3, T, Q> rotationAxis;
if(cosTheta >= static_cast<T>(1) - epsilon<T>())
return quat();
if(cosTheta >= static_cast<T>(1) - epsilon<T>()) {
// orig and dest point in the same direction : return identity quaternion.
return quat(1, 0, 0, 0);
}
if(cosTheta < static_cast<T>(-1) + epsilon<T>())
{