40 template <
typename T, precision P,
template <
class, precision>
class colType,
template <
class, precision>
class rowType>
41 struct outerProduct_trait{};
44 template <
typename T, precision P>
struct tvec2;
45 template <
typename T, precision P>
struct tvec3;
46 template <
typename T, precision P>
struct tvec4;
47 template <
typename T, precision P>
struct tmat2x2;
48 template <
typename T, precision P>
struct tmat2x3;
49 template <
typename T, precision P>
struct tmat2x4;
50 template <
typename T, precision P>
struct tmat3x2;
51 template <
typename T, precision P>
struct tmat3x3;
52 template <
typename T, precision P>
struct tmat3x4;
53 template <
typename T, precision P>
struct tmat4x2;
54 template <
typename T, precision P>
struct tmat4x3;
55 template <
typename T, precision P>
struct tmat4x4;
361 #if(defined(GLM_PRECISION_LOWP_FLOAT))
362 typedef lowp_mat2x2
mat2x2;
363 typedef lowp_mat2x3
mat2x3;
364 typedef lowp_mat2x4
mat2x4;
365 typedef lowp_mat3x2
mat3x2;
366 typedef lowp_mat3x3
mat3x3;
367 typedef lowp_mat3x4
mat3x4;
368 typedef lowp_mat4x2
mat4x2;
369 typedef lowp_mat4x3
mat4x3;
370 typedef lowp_mat4x4
mat4x4;
371 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
372 typedef mediump_mat2x2
mat2x2;
373 typedef mediump_mat2x3
mat2x3;
374 typedef mediump_mat2x4
mat2x4;
375 typedef mediump_mat3x2
mat3x2;
376 typedef mediump_mat3x3
mat3x3;
377 typedef mediump_mat3x4
mat3x4;
378 typedef mediump_mat4x2
mat4x2;
379 typedef mediump_mat4x3
mat4x3;
380 typedef mediump_mat4x4
mat4x4;
382 typedef highp_mat2x2
mat2x2;
427 #endif//GLM_PRECISION
708 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
718 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
719 typedef mediump_dmat2x2
dmat2x2;
720 typedef mediump_dmat2x3
dmat2x3;
721 typedef mediump_dmat2x4
dmat2x4;
722 typedef mediump_dmat3x2
dmat3x2;
723 typedef mediump_dmat3x3
dmat3x3;
724 typedef mediump_dmat3x4
dmat3x4;
725 typedef mediump_dmat4x2
dmat4x2;
726 typedef mediump_dmat4x3
dmat4x3;
727 typedef mediump_dmat4x4
dmat4x4;
728 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
790 #endif//GLM_PRECISION
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 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.
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers.
tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers.
highp_dmat4x4 dmat4x4
4 * 4 matrix of double-precision floating-point numbers.
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
OpenGL Mathematics (glm.g-truc.net)
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision 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.
tmat4x4< double, lowp > lowp_dmat4x4
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.
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.
tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers.
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers.
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
tmat3x3< double, mediump > mediump_dmat3x3
3 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.
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers.
highp_dmat4x4 dmat4
4 * 4 matrix of double-precision floating-point numbers.
tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
tmat3x2< double, highp > highp_dmat3x2
3 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.
tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers.
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 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.
tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 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< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers.
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers.
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
tmat2x2< float, highp > highp_mat2
2 columns of 2 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.
tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers.
tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
tmat4x2< double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
highp_dmat2x2 dmat2
2 * 2 matrix of double-precision floating-point numbers.
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium 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.
tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 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.
tmat2x2< double, mediump > mediump_dmat2x2
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.
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers.
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 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.
tmat4x4< float, highp > highp_mat4
4 columns of 4 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.
tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers.
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers.
tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers.
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers.