Fixed singularity check for quatLookAt #770

This commit is contained in:
christophe 2020-04-12 18:32:33 +02:00
parent 8aa60bbeff
commit b4c5bb6c1a
2 changed files with 5 additions and 2 deletions

View File

@ -175,7 +175,8 @@ namespace glm
mat<3, 3, T, Q> Result; mat<3, 3, T, Q> Result;
Result[2] = -direction; Result[2] = -direction;
Result[0] = normalize(cross(up, Result[2])); vec<3, T, Q> const& Right = cross(up, Result[2]);
Result[0] = Right * inversesqrt(max(static_cast<T>(0.00001), dot(Right, Right)));
Result[1] = cross(Result[2], Result[0]); Result[1] = cross(Result[2], Result[0]);
return quat_cast(Result); return quat_cast(Result);
@ -187,7 +188,8 @@ namespace glm
mat<3, 3, T, Q> Result; mat<3, 3, T, Q> Result;
Result[2] = direction; Result[2] = direction;
Result[0] = normalize(cross(up, Result[2])); vec<3, T, Q> const& Right = cross(up, Result[2]);
Result[0] = Right * inversesqrt(max(static_cast<T>(0.00001), dot(Right, Right)));
Result[1] = cross(Result[2], Result[0]); Result[1] = cross(Result[2], Result[0]);
return quat_cast(Result); return quat_cast(Result);

View File

@ -65,6 +65,7 @@ glm::mat4 camera(float Translate, glm::vec2 const& Rotate)
- Fixed unnecessary warnings from matrix_projection.inl #995 - Fixed unnecessary warnings from matrix_projection.inl #995
- Fixed quaternion slerp overload which interpolates with extra spins #996 - Fixed quaternion slerp overload which interpolates with extra spins #996
- Fixed for glm::length using arch64 #992 - Fixed for glm::length using arch64 #992
- Fixed singularity check for quatLookAt #770
### [GLM 0.9.9.7](https://github.com/g-truc/glm/releases/tag/0.9.9.7) - 2020-01-05 ### [GLM 0.9.9.7](https://github.com/g-truc/glm/releases/tag/0.9.9.7) - 2020-01-05
#### Improvements: #### Improvements: