1 /// @ref gtc_matrix_inverse 2 /// @file glm/gtc/matrix_inverse.hpp 3 /// 4 /// @see core (dependence) 5 /// 6 /// @defgroup gtc_matrix_inverse GLM_GTC_matrix_inverse 7 /// @ingroup gtc 8 /// 9 /// Defines additional matrix inverting functions. 10 /// <glm/gtc/matrix_inverse.hpp> need to be included to use these functionalities. 11 12 #pragma once 13 14 // Dependencies 15 #include "../detail/setup.hpp" 16 #include "../matrix.hpp" 17 #include "../mat2x2.hpp" 18 #include "../mat3x3.hpp" 19 #include "../mat4x4.hpp" 20 21 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 22 # pragma message("GLM: GLM_GTC_matrix_inverse extension included") 23 #endif 24 25 namespace glm 26 { 27 /// @addtogroup gtc_matrix_inverse 28 /// @{ 29 30 /// Fast matrix inverse for affine matrix. 31 /// 32 /// @param m Input matrix to invert. 33 /// @tparam genType Squared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate. 34 /// @see gtc_matrix_inverse 35 template <typename genType> 36 GLM_FUNC_DECL genType affineInverse(genType const & m); 37 38 /// Compute the inverse transpose of a matrix. 39 /// 40 /// @param m Input matrix to invert transpose. 41 /// @tparam genType Squared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate. 42 /// @see gtc_matrix_inverse 43 template <typename genType> 44 GLM_FUNC_DECL genType inverseTranspose(genType const & m); 45 46 /// @} 47 }//namespace glm 48 49 #include "matrix_inverse.inl" 50