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