| 1 | /// @ref gtx_normalize_dot |
| 2 | |
| 3 | namespace glm |
| 4 | { |
| 5 | template<length_t L, typename T, qualifier Q> |
| 6 | GLM_FUNC_QUALIFIER T normalizeDot(vec<L, T, Q> const& x, vec<L, T, Q> const& y) |
| 7 | { |
| 8 | return glm::dot(x, y) * glm::inversesqrt(glm::dot(x, x) * glm::dot(y, y)); |
| 9 | } |
| 10 | |
| 11 | template<length_t L, typename T, qualifier Q> |
| 12 | GLM_FUNC_QUALIFIER T fastNormalizeDot(vec<L, T, Q> const& x, vec<L, T, Q> const& y) |
| 13 | { |
| 14 | return glm::dot(x, y) * glm::fastInverseSqrt(glm::dot(x, x) * glm::dot(y, y)); |
| 15 | } |
| 16 | }//namespace glm |