11 template <
typename T, precision P,
template <
class, precision>
class colType,
template <
class, precision>
class rowType>
12 struct outerProduct_trait{};
15 template <
typename T, precision P>
struct tvec2;
16 template <
typename T, precision P>
struct tvec3;
17 template <
typename T, precision P>
struct tvec4;
18 template <
typename T, precision P>
struct tmat2x2;
19 template <
typename T, precision P>
struct tmat2x3;
20 template <
typename T, precision P>
struct tmat2x4;
21 template <
typename T, precision P>
struct tmat3x2;
22 template <
typename T, precision P>
struct tmat3x3;
23 template <
typename T, precision P>
struct tmat3x4;
24 template <
typename T, precision P>
struct tmat4x2;
25 template <
typename T, precision P>
struct tmat4x3;
26 template <
typename T, precision P>
struct tmat4x4;
28 template <
typename T, precision P,
template <
typename, precision>
class matType>
29 GLM_FUNC_DECL matType<T, P>
inverse(matType<T, P>
const & m);
335 #if(defined(GLM_PRECISION_LOWP_FLOAT))
336 typedef lowp_mat2x2
mat2x2;
337 typedef lowp_mat2x3
mat2x3;
338 typedef lowp_mat2x4
mat2x4;
339 typedef lowp_mat3x2
mat3x2;
340 typedef lowp_mat3x3
mat3x3;
341 typedef lowp_mat3x4
mat3x4;
342 typedef lowp_mat4x2
mat4x2;
343 typedef lowp_mat4x3
mat4x3;
344 typedef lowp_mat4x4
mat4x4;
345 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
346 typedef mediump_mat2x2
mat2x2;
347 typedef mediump_mat2x3
mat2x3;
348 typedef mediump_mat2x4
mat2x4;
349 typedef mediump_mat3x2
mat3x2;
350 typedef mediump_mat3x3
mat3x3;
351 typedef mediump_mat3x4
mat3x4;
352 typedef mediump_mat4x2
mat4x2;
353 typedef mediump_mat4x3
mat4x3;
354 typedef mediump_mat4x4
mat4x4;
356 typedef highp_mat2x2
mat2x2;
401 #endif//GLM_PRECISION
682 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
692 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
693 typedef mediump_dmat2x2
dmat2x2;
694 typedef mediump_dmat2x3
dmat2x3;
695 typedef mediump_dmat2x4
dmat2x4;
696 typedef mediump_dmat3x2
dmat3x2;
697 typedef mediump_dmat3x3
dmat3x3;
698 typedef mediump_dmat3x4
dmat3x4;
699 typedef mediump_dmat4x2
dmat4x2;
700 typedef mediump_dmat4x3
dmat4x3;
701 typedef mediump_dmat4x4
dmat4x4;
702 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
764 #endif//GLM_PRECISION
tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers.
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
tmat4x4< double, mediump > mediump_dmat4
4 columns of 4 components matrix of medium precision floating-point numbers.
highp_dmat2x2 dmat2
2 * 2 matrix of double-precision floating-point numbers.
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers.
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers.
tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers.
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers.
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
tmat2x2< double, lowp > lowp_dmat2
2 columns of 2 components matrix of low precision floating-point numbers.
tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
tmat2x3< double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers.
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
tmat3x4< double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
highp_dmat3x2 dmat3x2
3 * 2 matrix of double-precision floating-point numbers.
tmat3x3< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers.
tmat2x3< double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers.
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
tmat4x4< double, highp > highp_dmat4
4 columns of 4 components matrix of high precision floating-point numbers.
tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
highp_dmat4x4 dmat4x4
4 * 4 matrix of double-precision floating-point numbers.
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers.
tmat3x3< double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
tmat4x2< double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
tmat2x2< double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers.
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
tmat4x4< double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
tmat3x3< double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers.
tmat3x2< double, highp > highp_dmat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
tmat2x4< double, highp > highp_dmat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers.
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers.
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
highp_dmat4x4 dmat4
4 * 4 matrix of double-precision floating-point numbers.
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers.