FlukyEngine
Classes | Typedefs | Enumerations | Functions
glm Namespace Reference

Core features More...

Classes

class  compute_YCoCgR
 
class  compute_YCoCgR< T, Q, true >
 
struct  mat
 
struct  mat< 2, 2, T, Q >
 
struct  mat< 2, 3, T, Q >
 
struct  mat< 2, 4, T, Q >
 
struct  mat< 3, 2, T, Q >
 
struct  mat< 3, 3, T, Q >
 
struct  mat< 3, 4, T, Q >
 
struct  mat< 4, 2, T, Q >
 
struct  mat< 4, 3, T, Q >
 
struct  mat< 4, 4, T, Q >
 
struct  qua
 
struct  tdualquat
 
struct  type
 
struct  type< mat< C, R, T, Q > >
 
struct  type< qua< T, Q > >
 
struct  type< tdualquat< T, Q > >
 
struct  type< vec< L, T, Q > >
 
struct  vec
 
struct  vec< 1, T, Q >
 
struct  vec< 2, T, Q >
 
struct  vec< 3, T, Q >
 
struct  vec< 4, T, Q >
 

Typedefs

typedef qualifier precision
 
typedef int length_t
 
typedef unsigned int uint
 
typedef mat< 2, 2, double, defaultp > dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 2, 2, double, defaultp > dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 2, 2, double, lowplowp_dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, mediumpmediump_dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, highphighp_dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, lowplowp_dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, mediumpmediump_dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, highphighp_dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, double, defaultp > dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 2, 3, double, lowplowp_dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, double, mediumpmediump_dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, double, highphighp_dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, double, defaultp > dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 2, 4, double, lowplowp_dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, double, mediumpmediump_dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, double, highphighp_dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, double, defaultp > dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 3, 2, double, lowplowp_dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, double, mediumpmediump_dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, double, highphighp_dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, defaultp > dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 3, 3, double, defaultp > dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 3, 3, double, lowplowp_dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, mediumpmediump_dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, highphighp_dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, lowplowp_dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, mediumpmediump_dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, highphighp_dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, double, defaultp > dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 3, 4, double, lowplowp_dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, double, mediumpmediump_dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, double, highphighp_dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, double, defaultp > dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 4, 2, double, lowplowp_dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, double, mediumpmediump_dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, double, highphighp_dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, double, defaultp > dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 4, 3, double, lowplowp_dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, double, mediumpmediump_dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, double, highphighp_dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, defaultp > dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 4, 4, double, defaultp > dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 4, 4, double, lowplowp_dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, mediumpmediump_dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, highphighp_dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, lowplowp_dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, mediumpmediump_dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, highphighp_dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, defaultp > mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 2, 2, float, defaultp > mat2
 2 columns of 2 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 2, 2, float, lowplowp_mat2
 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, mediumpmediump_mat2
 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, highphighp_mat2
 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, lowplowp_mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, mediumpmediump_mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, highphighp_mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, float, defaultp > mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 2, 3, float, lowplowp_mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, float, mediumpmediump_mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, float, highphighp_mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, float, defaultp > mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 2, 4, float, lowplowp_mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, float, mediumpmediump_mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, float, highphighp_mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, float, defaultp > mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 3, 2, float, lowplowp_mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, float, mediumpmediump_mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, float, highphighp_mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, defaultp > mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 3, 3, float, defaultp > mat3
 3 columns of 3 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 3, 3, float, lowplowp_mat3
 3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, mediumpmediump_mat3
 3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, highphighp_mat3
 3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, lowplowp_mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, mediumpmediump_mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, highphighp_mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, float, defaultp > mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 3, 4, float, lowplowp_mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, float, mediumpmediump_mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, float, highphighp_mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, float, defaultp > mat4x2
 4 columns of 2 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 4, 2, float, lowplowp_mat4x2
 4 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, float, mediumpmediump_mat4x2
 4 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, float, highphighp_mat4x2
 4 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, float, defaultp > mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 4, 3, float, lowplowp_mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, float, mediumpmediump_mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, float, highphighp_mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, lowplowp_mat4
 4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, mediumpmediump_mat4
 4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, highphighp_mat4
 4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, lowplowp_mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, mediumpmediump_mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, highphighp_mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, int, defaultp > imat2x2
 Signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int, defaultp > imat2
 Signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int8, defaultp > i8mat2x2
 8 bit signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int16, defaultp > i16mat2x2
 16 bit signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int32, defaultp > i32mat2x2
 32 bit signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int64, defaultp > i64mat2x2
 64 bit signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int8, defaultp > i8mat2
 8 bit signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int16, defaultp > i16mat2
 16 bit signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int32, defaultp > i32mat2
 32 bit signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int64, defaultp > i64mat2
 64 bit signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, defaultp > imat2x3
 Signed integer 2x3 matrix. More...
 
typedef mat< 2, 3, int8, defaultp > i8mat2x3
 8 bit signed integer 2x3 matrix. More...
 
typedef mat< 2, 3, int16, defaultp > i16mat2x3
 16 bit signed integer 2x3 matrix. More...
 
typedef mat< 2, 3, int32, defaultp > i32mat2x3
 32 bit signed integer 2x3 matrix. More...
 
typedef mat< 2, 3, int64, defaultp > i64mat2x3
 64 bit signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, defaultp > imat2x4
 Signed integer 2x4 matrix. More...
 
typedef mat< 2, 4, int8, defaultp > i8mat2x4
 8 bit signed integer 2x4 matrix. More...
 
typedef mat< 2, 4, int16, defaultp > i16mat2x4
 16 bit signed integer 2x4 matrix. More...
 
typedef mat< 2, 4, int32, defaultp > i32mat2x4
 32 bit signed integer 2x4 matrix. More...
 
typedef mat< 2, 4, int64, defaultp > i64mat2x4
 64 bit signed integer 2x4 matrix. More...
 
typedef mat< 3, 2, int, defaultp > imat3x2
 Signed integer 3x2 matrix. More...
 
typedef mat< 3, 2, int8, defaultp > i8mat3x2
 8 bit signed integer 3x2 matrix. More...
 
typedef mat< 3, 2, int16, defaultp > i16mat3x2
 16 bit signed integer 3x2 matrix. More...
 
typedef mat< 3, 2, int32, defaultp > i32mat3x2
 32 bit signed integer 3x2 matrix. More...
 
typedef mat< 3, 2, int64, defaultp > i64mat3x2
 64 bit signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, defaultp > imat3x3
 Signed integer 3x3 matrix. More...
 
typedef mat< 3, 3, int, defaultp > imat3
 Signed integer 3x3 matrix. More...
 
typedef mat< 3, 3, int8, defaultp > i8mat3x3
 8 bit signed integer 3x3 matrix. More...
 
typedef mat< 3, 3, int16, defaultp > i16mat3x3
 16 bit signed integer 3x3 matrix. More...
 
typedef mat< 3, 3, int32, defaultp > i32mat3x3
 32 bit signed integer 3x3 matrix. More...
 
typedef mat< 3, 3, int64, defaultp > i64mat3x3
 64 bit signed integer 3x3 matrix. More...
 
typedef mat< 3, 3, int8, defaultp > i8mat3
 8 bit signed integer 3x3 matrix. More...
 
typedef mat< 3, 3, int16, defaultp > i16mat3
 16 bit signed integer 3x3 matrix. More...
 
typedef mat< 3, 3, int32, defaultp > i32mat3
 32 bit signed integer 3x3 matrix. More...
 
typedef mat< 3, 3, int64, defaultp > i64mat3
 64 bit signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, defaultp > imat3x4
 Signed integer 3x4 matrix. More...
 
typedef mat< 3, 4, int8, defaultp > i8mat3x4
 8 bit signed integer 3x4 matrix. More...
 
typedef mat< 3, 4, int16, defaultp > i16mat3x4
 16 bit signed integer 3x4 matrix. More...
 
typedef mat< 3, 4, int32, defaultp > i32mat3x4
 32 bit signed integer 3x4 matrix. More...
 
typedef mat< 3, 4, int64, defaultp > i64mat3x4
 64 bit signed integer 3x4 matrix. More...
 
typedef mat< 4, 2, int, defaultp > imat4x2
 Signed integer 4x2 matrix. More...
 
typedef mat< 4, 2, int8, defaultp > i8mat4x2
 8 bit signed integer 4x2 matrix. More...
 
typedef mat< 4, 2, int16, defaultp > i16mat4x2
 16 bit signed integer 4x2 matrix. More...
 
typedef mat< 4, 2, int32, defaultp > i32mat4x2
 32 bit signed integer 4x2 matrix. More...
 
typedef mat< 4, 2, int64, defaultp > i64mat4x2
 64 bit signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, defaultp > imat4x3
 Signed integer 4x3 matrix. More...
 
typedef mat< 4, 3, int8, defaultp > i8mat4x3
 8 bit signed integer 4x3 matrix. More...
 
typedef mat< 4, 3, int16, defaultp > i16mat4x3
 16 bit signed integer 4x3 matrix. More...
 
typedef mat< 4, 3, int32, defaultp > i32mat4x3
 32 bit signed integer 4x3 matrix. More...
 
typedef mat< 4, 3, int64, defaultp > i64mat4x3
 64 bit signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, defaultp > imat4x4
 Signed integer 4x4 matrix. More...
 
typedef mat< 4, 4, int, defaultp > imat4
 Signed integer 4x4 matrix. More...
 
typedef mat< 4, 4, int8, defaultp > i8mat4x4
 8 bit signed integer 4x4 matrix. More...
 
typedef mat< 4, 4, int16, defaultp > i16mat4x4
 16 bit signed integer 4x4 matrix. More...
 
typedef mat< 4, 4, int32, defaultp > i32mat4x4
 32 bit signed integer 4x4 matrix. More...
 
typedef mat< 4, 4, int64, defaultp > i64mat4x4
 64 bit signed integer 4x4 matrix. More...
 
typedef mat< 4, 4, int8, defaultp > i8mat4
 8 bit signed integer 4x4 matrix. More...
 
typedef mat< 4, 4, int16, defaultp > i16mat4
 16 bit signed integer 4x4 matrix. More...
 
typedef mat< 4, 4, int32, defaultp > i32mat4
 32 bit signed integer 4x4 matrix. More...
 
typedef mat< 4, 4, int64, defaultp > i64mat4
 64 bit signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, defaultp > umat2x2
 Unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint, defaultp > umat2
 Unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint8, defaultp > u8mat2x2
 8 bit unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint16, defaultp > u16mat2x2
 16 bit unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint32, defaultp > u32mat2x2
 32 bit unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint64, defaultp > u64mat2x2
 64 bit unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint8, defaultp > u8mat2
 8 bit unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint16, defaultp > u16mat2
 16 bit unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint32, defaultp > u32mat2
 32 bit unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint64, defaultp > u64mat2
 64 bit unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, defaultp > umat2x3
 Unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 3, uint8, defaultp > u8mat2x3
 8 bit unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 3, uint16, defaultp > u16mat2x3
 16 bit unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 3, uint32, defaultp > u32mat2x3
 32 bit unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 3, uint64, defaultp > u64mat2x3
 64 bit unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, defaultp > umat2x4
 Unsigned integer 2x4 matrix. More...
 
typedef mat< 2, 4, uint8, defaultp > u8mat2x4
 8 bit unsigned integer 2x4 matrix. More...
 
typedef mat< 2, 4, uint16, defaultp > u16mat2x4
 16 bit unsigned integer 2x4 matrix. More...
 
typedef mat< 2, 4, uint32, defaultp > u32mat2x4
 32 bit unsigned integer 2x4 matrix. More...
 
typedef mat< 2, 4, uint64, defaultp > u64mat2x4
 64 bit unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 2, uint, defaultp > umat3x2
 Unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 2, uint8, defaultp > u8mat3x2
 8 bit signed integer 3x2 matrix. More...
 
typedef mat< 3, 2, uint16, defaultp > u16mat3x2
 16 bit signed integer 3x2 matrix. More...
 
typedef mat< 3, 2, uint32, defaultp > u32mat3x2
 32 bit signed integer 3x2 matrix. More...
 
typedef mat< 3, 2, uint64, defaultp > u64mat3x2
 64 bit signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, defaultp > umat3x3
 Unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 3, uint, defaultp > umat3
 Unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 3, uint8, defaultp > u8mat3x3
 8 bit unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 3, uint16, defaultp > u16mat3x3
 16 bit unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 3, uint32, defaultp > u32mat3x3
 32 bit unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 3, uint64, defaultp > u64mat3x3
 64 bit unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 3, uint8, defaultp > u8mat3
 8 bit unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 3, uint16, defaultp > u16mat3
 16 bit unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 3, uint32, defaultp > u32mat3
 32 bit unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 3, uint64, defaultp > u64mat3
 64 bit unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, defaultp > umat3x4
 Signed integer 3x4 matrix. More...
 
typedef mat< 3, 4, uint8, defaultp > u8mat3x4
 8 bit unsigned integer 3x4 matrix. More...
 
typedef mat< 3, 4, uint16, defaultp > u16mat3x4
 16 bit unsigned integer 3x4 matrix. More...
 
typedef mat< 3, 4, uint32, defaultp > u32mat3x4
 32 bit unsigned integer 3x4 matrix. More...
 
typedef mat< 3, 4, uint64, defaultp > u64mat3x4
 64 bit unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 2, uint, defaultp > umat4x2
 Unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 2, uint8, defaultp > u8mat4x2
 8 bit unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 2, uint16, defaultp > u16mat4x2
 16 bit unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 2, uint32, defaultp > u32mat4x2
 32 bit unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 2, uint64, defaultp > u64mat4x2
 64 bit unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, defaultp > umat4x3
 Unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 3, uint8, defaultp > u8mat4x3
 8 bit unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 3, uint16, defaultp > u16mat4x3
 16 bit unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 3, uint32, defaultp > u32mat4x3
 32 bit unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 3, uint64, defaultp > u64mat4x3
 64 bit unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, defaultp > umat4x4
 Unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 4, uint, defaultp > umat4
 Unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 4, uint8, defaultp > u8mat4x4
 8 bit unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 4, uint16, defaultp > u16mat4x4
 16 bit unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 4, uint32, defaultp > u32mat4x4
 32 bit unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 4, uint64, defaultp > u64mat4x4
 64 bit unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 4, uint8, defaultp > u8mat4
 8 bit unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 4, uint16, defaultp > u16mat4
 16 bit unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 4, uint32, defaultp > u32mat4
 32 bit unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 4, uint64, defaultp > u64mat4
 64 bit unsigned integer 4x4 matrix. More...
 
typedef qua< double, defaultp > dquat
 Quaternion of double-precision floating-point numbers.
 
typedef qua< double, lowplowp_dquat
 Quaternion of double-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef qua< double, mediumpmediump_dquat
 Quaternion of medium double-qualifier floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef qua< double, highphighp_dquat
 Quaternion of high double-qualifier floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef qua< float, defaultp > quat
 Quaternion of single-precision floating-point numbers.
 
typedef qua< float, lowplowp_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef qua< float, mediumpmediump_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef qua< float, highphighp_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef detail::int8 int8
 8 bit signed integer type.
 
typedef detail::int16 int16
 16 bit signed integer type.
 
typedef detail::int32 int32
 32 bit signed integer type.
 
typedef detail::int64 int64
 64 bit signed integer type.
 
typedef detail::uint8 uint8
 8 bit unsigned integer type.
 
typedef detail::uint16 uint16
 16 bit unsigned integer type.
 
typedef detail::uint32 uint32
 32 bit unsigned integer type.
 
typedef detail::uint64 uint64
 64 bit unsigned integer type.
 
typedef vec< 1, bool, defaultp > bvec1
 1 components vector of boolean.
 
typedef vec< 1, bool, highphighp_bvec1
 1 component vector of bool values.
 
typedef vec< 1, bool, mediumpmediump_bvec1
 1 component vector of bool values.
 
typedef vec< 1, bool, lowplowp_bvec1
 1 component vector of bool values.
 
typedef vec< 2, bool, defaultp > bvec2
 2 components vector of boolean. More...
 
typedef vec< 2, bool, highphighp_bvec2
 2 components vector of high qualifier bool numbers. More...
 
typedef vec< 2, bool, mediumpmediump_bvec2
 2 components vector of medium qualifier bool numbers. More...
 
typedef vec< 2, bool, lowplowp_bvec2
 2 components vector of low qualifier bool numbers. More...
 
typedef vec< 3, bool, defaultp > bvec3
 3 components vector of boolean. More...
 
typedef vec< 3, bool, highphighp_bvec3
 3 components vector of high qualifier bool numbers. More...
 
typedef vec< 3, bool, mediumpmediump_bvec3
 3 components vector of medium qualifier bool numbers. More...
 
typedef vec< 3, bool, lowplowp_bvec3
 3 components vector of low qualifier bool numbers. More...
 
typedef vec< 4, bool, defaultp > bvec4
 4 components vector of boolean. More...
 
typedef vec< 4, bool, highphighp_bvec4
 4 components vector of high qualifier bool numbers. More...
 
typedef vec< 4, bool, mediumpmediump_bvec4
 4 components vector of medium qualifier bool numbers. More...
 
typedef vec< 4, bool, lowplowp_bvec4
 4 components vector of low qualifier bool numbers. More...
 
typedef vec< 1, double, defaultp > dvec1
 1 components vector of double-precision floating-point numbers.
 
typedef vec< 1, double, highphighp_dvec1
 1 component vector of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, mediumpmediump_dvec1
 1 component vector of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, lowplowp_dvec1
 1 component vector of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, defaultp > dvec2
 2 components vector of double-precision floating-point numbers. More...
 
typedef vec< 2, double, highphighp_dvec2
 2 components vector of high double-qualifier floating-point numbers. More...
 
typedef vec< 2, double, mediumpmediump_dvec2
 2 components vector of medium double-qualifier floating-point numbers. More...
 
typedef vec< 2, double, lowplowp_dvec2
 2 components vector of low double-qualifier floating-point numbers. More...
 
typedef vec< 3, double, defaultp > dvec3
 3 components vector of double-precision floating-point numbers. More...
 
typedef vec< 3, double, highphighp_dvec3
 3 components vector of high double-qualifier floating-point numbers. More...
 
typedef vec< 3, double, mediumpmediump_dvec3
 3 components vector of medium double-qualifier floating-point numbers. More...
 
typedef vec< 3, double, lowplowp_dvec3
 3 components vector of low double-qualifier floating-point numbers. More...
 
typedef vec< 4, double, defaultp > dvec4
 4 components vector of double-precision floating-point numbers. More...
 
typedef vec< 4, double, highphighp_dvec4
 4 components vector of high double-qualifier floating-point numbers. More...
 
typedef vec< 4, double, mediumpmediump_dvec4
 4 components vector of medium double-qualifier floating-point numbers. More...
 
typedef vec< 4, double, lowplowp_dvec4
 4 components vector of low double-qualifier floating-point numbers. More...
 
typedef vec< 1, float, defaultp > vec1
 1 components vector of single-precision floating-point numbers.
 
typedef vec< 1, float, highphighp_vec1
 1 component vector of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, float, mediumpmediump_vec1
 1 component vector of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, float, lowplowp_vec1
 1 component vector of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, float, defaultp > vec2
 2 components vector of single-precision floating-point numbers. More...
 
typedef vec< 2, float, highphighp_vec2
 2 components vector of high single-qualifier floating-point numbers. More...
 
typedef vec< 2, float, mediumpmediump_vec2
 2 components vector of medium single-qualifier floating-point numbers. More...
 
typedef vec< 2, float, lowplowp_vec2
 2 components vector of low single-qualifier floating-point numbers. More...
 
typedef vec< 3, float, defaultp > vec3
 3 components vector of single-precision floating-point numbers. More...
 
typedef vec< 3, float, highphighp_vec3
 3 components vector of high single-qualifier floating-point numbers. More...
 
typedef vec< 3, float, mediumpmediump_vec3
 3 components vector of medium single-qualifier floating-point numbers. More...
 
typedef vec< 3, float, lowplowp_vec3
 3 components vector of low single-qualifier floating-point numbers. More...
 
typedef vec< 4, float, defaultp > vec4
 4 components vector of single-precision floating-point numbers. More...
 
typedef vec< 4, float, highphighp_vec4
 4 components vector of high single-qualifier floating-point numbers. More...
 
typedef vec< 4, float, mediumpmediump_vec4
 4 components vector of medium single-qualifier floating-point numbers. More...
 
typedef vec< 4, float, lowplowp_vec4
 4 components vector of low single-qualifier floating-point numbers. More...
 
typedef vec< 1, int, defaultp > ivec1
 1 component vector of signed integer numbers.
 
typedef vec< 1, int8, defaultp > i8vec1
 8 bit signed integer vector of 1 component type. More...
 
typedef vec< 1, int16, defaultp > i16vec1
 16 bit signed integer vector of 1 component type. More...
 
typedef vec< 1, int32, defaultp > i32vec1
 32 bit signed integer vector of 1 component type. More...
 
typedef vec< 1, int64, defaultp > i64vec1
 64 bit signed integer vector of 1 component type. More...
 
typedef vec< 2, int, defaultp > ivec2
 2 components vector of signed integer numbers. More...
 
typedef vec< 2, int8, defaultp > i8vec2
 8 bit signed integer vector of 2 components type. More...
 
typedef vec< 2, int16, defaultp > i16vec2
 16 bit signed integer vector of 2 components type. More...
 
typedef vec< 2, int32, defaultp > i32vec2
 32 bit signed integer vector of 2 components type. More...
 
typedef vec< 2, int64, defaultp > i64vec2
 64 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, int, defaultp > ivec3
 3 components vector of signed integer numbers. More...
 
typedef vec< 3, int8, defaultp > i8vec3
 8 bit signed integer vector of 3 components type. More...
 
typedef vec< 3, int16, defaultp > i16vec3
 16 bit signed integer vector of 3 components type. More...
 
typedef vec< 3, int32, defaultp > i32vec3
 32 bit signed integer vector of 3 components type. More...
 
typedef vec< 3, int64, defaultp > i64vec3
 64 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, int, defaultp > ivec4
 4 components vector of signed integer numbers. More...
 
typedef vec< 4, int8, defaultp > i8vec4
 8 bit signed integer vector of 4 components type. More...
 
typedef vec< 4, int16, defaultp > i16vec4
 16 bit signed integer vector of 4 components type. More...
 
typedef vec< 4, int32, defaultp > i32vec4
 32 bit signed integer vector of 4 components type. More...
 
typedef vec< 4, int64, defaultp > i64vec4
 64 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, unsigned int, defaultp > uvec1
 1 component vector of unsigned integer numbers.
 
typedef vec< 1, uint8, defaultp > u8vec1
 8 bit unsigned integer vector of 1 component type. More...
 
typedef vec< 1, uint16, defaultp > u16vec1
 16 bit unsigned integer vector of 1 component type. More...
 
typedef vec< 1, uint32, defaultp > u32vec1
 32 bit unsigned integer vector of 1 component type. More...
 
typedef vec< 1, uint64, defaultp > u64vec1
 64 bit unsigned integer vector of 1 component type. More...
 
typedef vec< 2, unsigned int, defaultp > uvec2
 2 components vector of unsigned integer numbers. More...
 
typedef vec< 2, uint8, defaultp > u8vec2
 8 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 2, uint16, defaultp > u16vec2
 16 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 2, uint32, defaultp > u32vec2
 32 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 2, uint64, defaultp > u64vec2
 64 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, unsigned int, defaultp > uvec3
 3 components vector of unsigned integer numbers. More...
 
typedef vec< 3, uint8, defaultp > u8vec3
 8 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 3, uint16, defaultp > u16vec3
 16 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 3, uint32, defaultp > u32vec3
 32 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 3, uint64, defaultp > u64vec3
 64 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, unsigned int, defaultp > uvec4
 4 components vector of unsigned integer numbers. More...
 
typedef vec< 4, uint8, defaultp > u8vec4
 8 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 4, uint16, defaultp > u16vec4
 16 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 4, uint32, defaultp > u32vec4
 32 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 4, uint64, defaultp > u64vec4
 64 bit unsigned integer vector of 4 components type. More...
 
typedef int8 lowp_i8
 Low qualifier 8 bit signed integer type. More...
 
typedef int8 mediump_i8
 Medium qualifier 8 bit signed integer type. More...
 
typedef int8 highp_i8
 High qualifier 8 bit signed integer type. More...
 
typedef int8 i8
 8 bit signed integer type. More...
 
typedef int8 lowp_int8
 Low qualifier 8 bit signed integer type. More...
 
typedef int8 mediump_int8
 Medium qualifier 8 bit signed integer type. More...
 
typedef int8 highp_int8
 High qualifier 8 bit signed integer type. More...
 
typedef int8 lowp_int8_t
 Low qualifier 8 bit signed integer type. More...
 
typedef int8 mediump_int8_t
 Medium qualifier 8 bit signed integer type. More...
 
typedef int8 highp_int8_t
 High qualifier 8 bit signed integer type. More...
 
typedef int8 int8_t
 8 bit signed integer type. More...
 
typedef int16 lowp_i16
 Low qualifier 16 bit signed integer type. More...
 
typedef int16 mediump_i16
 Medium qualifier 16 bit signed integer type. More...
 
typedef int16 highp_i16
 High qualifier 16 bit signed integer type. More...
 
typedef int16 i16
 16 bit signed integer type. More...
 
typedef int16 lowp_int16
 Low qualifier 16 bit signed integer type. More...
 
typedef int16 mediump_int16
 Medium qualifier 16 bit signed integer type. More...
 
typedef int16 highp_int16
 High qualifier 16 bit signed integer type. More...
 
typedef int16 lowp_int16_t
 Low qualifier 16 bit signed integer type. More...
 
typedef int16 mediump_int16_t
 Medium qualifier 16 bit signed integer type. More...
 
typedef int16 highp_int16_t
 High qualifier 16 bit signed integer type. More...
 
typedef int16 int16_t
 16 bit signed integer type. More...
 
typedef int32 lowp_i32
 Low qualifier 32 bit signed integer type. More...
 
typedef int32 mediump_i32
 Medium qualifier 32 bit signed integer type. More...
 
typedef int32 highp_i32
 High qualifier 32 bit signed integer type. More...
 
typedef int32 i32
 32 bit signed integer type. More...
 
typedef int32 lowp_int32
 Low qualifier 32 bit signed integer type. More...
 
typedef int32 mediump_int32
 Medium qualifier 32 bit signed integer type. More...
 
typedef int32 highp_int32
 High qualifier 32 bit signed integer type. More...
 
typedef int32 lowp_int32_t
 Low qualifier 32 bit signed integer type. More...
 
typedef int32 mediump_int32_t
 Medium qualifier 32 bit signed integer type. More...
 
typedef int32 highp_int32_t
 32 bit signed integer type. More...
 
typedef int32 int32_t
 32 bit signed integer type. More...
 
typedef int64 lowp_i64
 Low qualifier 64 bit signed integer type. More...
 
typedef int64 mediump_i64
 Medium qualifier 64 bit signed integer type. More...
 
typedef int64 highp_i64
 High qualifier 64 bit signed integer type. More...
 
typedef int64 i64
 64 bit signed integer type. More...
 
typedef int64 lowp_int64
 Low qualifier 64 bit signed integer type. More...
 
typedef int64 mediump_int64
 Medium qualifier 64 bit signed integer type. More...
 
typedef int64 highp_int64
 High qualifier 64 bit signed integer type. More...
 
typedef int64 lowp_int64_t
 Low qualifier 64 bit signed integer type. More...
 
typedef int64 mediump_int64_t
 Medium qualifier 64 bit signed integer type. More...
 
typedef int64 highp_int64_t
 High qualifier 64 bit signed integer type. More...
 
typedef int64 int64_t
 64 bit signed integer type. More...
 
typedef uint8 lowp_u8
 Low qualifier 8 bit unsigned integer type. More...
 
typedef uint8 mediump_u8
 Medium qualifier 8 bit unsigned integer type. More...
 
typedef uint8 highp_u8
 High qualifier 8 bit unsigned integer type. More...
 
typedef uint8 u8
 Default qualifier 8 bit unsigned integer type. More...
 
typedef uint8 lowp_uint8
 Low qualifier 8 bit unsigned integer type. More...
 
typedef uint8 mediump_uint8
 Medium qualifier 8 bit unsigned integer type. More...
 
typedef uint8 highp_uint8
 High qualifier 8 bit unsigned integer type. More...
 
typedef uint8 lowp_uint8_t
 Low qualifier 8 bit unsigned integer type. More...
 
typedef uint8 mediump_uint8_t
 Medium qualifier 8 bit unsigned integer type. More...
 
typedef uint8 highp_uint8_t
 High qualifier 8 bit unsigned integer type. More...
 
typedef uint8 uint8_t
 Default qualifier 8 bit unsigned integer type. More...
 
typedef uint16 lowp_u16
 Low qualifier 16 bit unsigned integer type. More...
 
typedef uint16 mediump_u16
 Medium qualifier 16 bit unsigned integer type. More...
 
typedef uint16 highp_u16
 High qualifier 16 bit unsigned integer type. More...
 
typedef uint16 u16
 Default qualifier 16 bit unsigned integer type. More...
 
typedef uint16 lowp_uint16
 Low qualifier 16 bit unsigned integer type. More...
 
typedef uint16 mediump_uint16
 Medium qualifier 16 bit unsigned integer type. More...
 
typedef uint16 highp_uint16
 High qualifier 16 bit unsigned integer type. More...
 
typedef uint16 lowp_uint16_t
 Low qualifier 16 bit unsigned integer type. More...
 
typedef uint16 mediump_uint16_t
 Medium qualifier 16 bit unsigned integer type. More...
 
typedef uint16 highp_uint16_t
 High qualifier 16 bit unsigned integer type. More...
 
typedef uint16 uint16_t
 Default qualifier 16 bit unsigned integer type. More...
 
typedef uint32 lowp_u32
 Low qualifier 32 bit unsigned integer type. More...
 
typedef uint32 mediump_u32
 Medium qualifier 32 bit unsigned integer type. More...
 
typedef uint32 highp_u32
 High qualifier 32 bit unsigned integer type. More...
 
typedef uint32 u32
 Default qualifier 32 bit unsigned integer type. More...
 
typedef uint32 lowp_uint32
 Low qualifier 32 bit unsigned integer type. More...
 
typedef uint32 mediump_uint32
 Medium qualifier 32 bit unsigned integer type. More...
 
typedef uint32 highp_uint32
 High qualifier 32 bit unsigned integer type. More...
 
typedef uint32 lowp_uint32_t
 Low qualifier 32 bit unsigned integer type. More...
 
typedef uint32 mediump_uint32_t
 Medium qualifier 32 bit unsigned integer type. More...
 
typedef uint32 highp_uint32_t
 High qualifier 32 bit unsigned integer type. More...
 
typedef uint32 uint32_t
 Default qualifier 32 bit unsigned integer type. More...
 
typedef uint64 lowp_u64
 Low qualifier 64 bit unsigned integer type. More...
 
typedef uint64 mediump_u64
 Medium qualifier 64 bit unsigned integer type. More...
 
typedef uint64 highp_u64
 High qualifier 64 bit unsigned integer type. More...
 
typedef uint64 u64
 Default qualifier 64 bit unsigned integer type. More...
 
typedef uint64 lowp_uint64
 Low qualifier 64 bit unsigned integer type. More...
 
typedef uint64 mediump_uint64
 Medium qualifier 64 bit unsigned integer type. More...
 
typedef uint64 highp_uint64
 High qualifier 64 bit unsigned integer type. More...
 
typedef uint64 lowp_uint64_t
 Low qualifier 64 bit unsigned integer type. More...
 
typedef uint64 mediump_uint64_t
 Medium qualifier 64 bit unsigned integer type. More...
 
typedef uint64 highp_uint64_t
 High qualifier 64 bit unsigned integer type. More...
 
typedef uint64 uint64_t
 Default qualifier 64 bit unsigned integer type. More...
 
typedef float lowp_f32
 Low 32 bit single-qualifier floating-point scalar. More...
 
typedef float mediump_f32
 Medium 32 bit single-qualifier floating-point scalar. More...
 
typedef float highp_f32
 High 32 bit single-qualifier floating-point scalar. More...
 
typedef float f32
 Default 32 bit single-qualifier floating-point scalar. More...
 
typedef float lowp_float32
 Low 32 bit single-qualifier floating-point scalar. More...
 
typedef float mediump_float32
 Medium 32 bit single-qualifier floating-point scalar. More...
 
typedef float highp_float32
 High 32 bit single-qualifier floating-point scalar. More...
 
typedef float float32
 Single-qualifier floating-point scalar. More...
 
typedef float lowp_float32_t
 Low 32 bit single-qualifier floating-point scalar. More...
 
typedef float mediump_float32_t
 Medium 32 bit single-qualifier floating-point scalar. More...
 
typedef float highp_float32_t
 High 32 bit single-qualifier floating-point scalar. More...
 
typedef float float32_t
 Default 32 bit single-qualifier floating-point scalar. More...
 
typedef double lowp_f64
 Low 64 bit double-qualifier floating-point scalar. More...
 
typedef double mediump_f64
 Medium 64 bit double-qualifier floating-point scalar. More...
 
typedef double highp_f64
 High 64 bit double-qualifier floating-point scalar. More...
 
typedef double f64
 Default 64 bit double-qualifier floating-point scalar. More...
 
typedef double lowp_float64
 Low 64 bit double-qualifier floating-point scalar. More...
 
typedef double mediump_float64
 Medium 64 bit double-qualifier floating-point scalar. More...
 
typedef double highp_float64
 High 64 bit double-qualifier floating-point scalar. More...
 
typedef double float64
 Double-qualifier floating-point scalar. More...
 
typedef double lowp_float64_t
 Low 64 bit double-qualifier floating-point scalar. More...
 
typedef double mediump_float64_t
 Medium 64 bit double-qualifier floating-point scalar. More...
 
typedef double highp_float64_t
 High 64 bit double-qualifier floating-point scalar. More...
 
typedef double float64_t
 Default 64 bit double-qualifier floating-point scalar. More...
 
typedef vec< 1, int, lowplowp_ivec1
 Low qualifier signed integer vector of 1 component type. More...
 
typedef vec< 2, int, lowplowp_ivec2
 Low qualifier signed integer vector of 2 components type. More...
 
typedef vec< 3, int, lowplowp_ivec3
 Low qualifier signed integer vector of 3 components type. More...
 
typedef vec< 4, int, lowplowp_ivec4
 Low qualifier signed integer vector of 4 components type. More...
 
typedef vec< 1, int, mediumpmediump_ivec1
 Medium qualifier signed integer vector of 1 component type. More...
 
typedef vec< 2, int, mediumpmediump_ivec2
 Medium qualifier signed integer vector of 2 components type. More...
 
typedef vec< 3, int, mediumpmediump_ivec3
 Medium qualifier signed integer vector of 3 components type. More...
 
typedef vec< 4, int, mediumpmediump_ivec4
 Medium qualifier signed integer vector of 4 components type. More...
 
typedef vec< 1, int, highphighp_ivec1
 High qualifier signed integer vector of 1 component type. More...
 
typedef vec< 2, int, highphighp_ivec2
 High qualifier signed integer vector of 2 components type. More...
 
typedef vec< 3, int, highphighp_ivec3
 High qualifier signed integer vector of 3 components type. More...
 
typedef vec< 4, int, highphighp_ivec4
 High qualifier signed integer vector of 4 components type. More...
 
typedef vec< 1, i8, lowplowp_i8vec1
 Low qualifier 8 bit signed integer vector of 1 component type. More...
 
typedef vec< 2, i8, lowplowp_i8vec2
 Low qualifier 8 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i8, lowplowp_i8vec3
 Low qualifier 8 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i8, lowplowp_i8vec4
 Low qualifier 8 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i8, mediumpmediump_i8vec1
 Medium qualifier 8 bit signed integer scalar type. More...
 
typedef vec< 2, i8, mediumpmediump_i8vec2
 Medium qualifier 8 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i8, mediumpmediump_i8vec3
 Medium qualifier 8 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i8, mediumpmediump_i8vec4
 Medium qualifier 8 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i8, highphighp_i8vec1
 High qualifier 8 bit signed integer scalar type. More...
 
typedef vec< 2, i8, highphighp_i8vec2
 High qualifier 8 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i8, highphighp_i8vec3
 High qualifier 8 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i8, highphighp_i8vec4
 High qualifier 8 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i16, lowplowp_i16vec1
 Low qualifier 16 bit signed integer scalar type. More...
 
typedef vec< 2, i16, lowplowp_i16vec2
 Low qualifier 16 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i16, lowplowp_i16vec3
 Low qualifier 16 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i16, lowplowp_i16vec4
 Low qualifier 16 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i16, mediumpmediump_i16vec1
 Medium qualifier 16 bit signed integer scalar type. More...
 
typedef vec< 2, i16, mediumpmediump_i16vec2
 Medium qualifier 16 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i16, mediumpmediump_i16vec3
 Medium qualifier 16 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i16, mediumpmediump_i16vec4
 Medium qualifier 16 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i16, highphighp_i16vec1
 High qualifier 16 bit signed integer scalar type. More...
 
typedef vec< 2, i16, highphighp_i16vec2
 High qualifier 16 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i16, highphighp_i16vec3
 High qualifier 16 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i16, highphighp_i16vec4
 High qualifier 16 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i32, lowplowp_i32vec1
 Low qualifier 32 bit signed integer scalar type. More...
 
typedef vec< 2, i32, lowplowp_i32vec2
 Low qualifier 32 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i32, lowplowp_i32vec3
 Low qualifier 32 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i32, lowplowp_i32vec4
 Low qualifier 32 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i32, mediumpmediump_i32vec1
 Medium qualifier 32 bit signed integer scalar type. More...
 
typedef vec< 2, i32, mediumpmediump_i32vec2
 Medium qualifier 32 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i32, mediumpmediump_i32vec3
 Medium qualifier 32 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i32, mediumpmediump_i32vec4
 Medium qualifier 32 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i32, highphighp_i32vec1
 High qualifier 32 bit signed integer scalar type. More...
 
typedef vec< 2, i32, highphighp_i32vec2
 High qualifier 32 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i32, highphighp_i32vec3
 High qualifier 32 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i32, highphighp_i32vec4
 High qualifier 32 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i64, lowplowp_i64vec1
 Low qualifier 64 bit signed integer scalar type. More...
 
typedef vec< 2, i64, lowplowp_i64vec2
 Low qualifier 64 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i64, lowplowp_i64vec3
 Low qualifier 64 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i64, lowplowp_i64vec4
 Low qualifier 64 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i64, mediumpmediump_i64vec1
 Medium qualifier 64 bit signed integer scalar type. More...
 
typedef vec< 2, i64, mediumpmediump_i64vec2
 Medium qualifier 64 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i64, mediumpmediump_i64vec3
 Medium qualifier 64 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i64, mediumpmediump_i64vec4
 Medium qualifier 64 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, i64, highphighp_i64vec1
 High qualifier 64 bit signed integer scalar type. More...
 
typedef vec< 2, i64, highphighp_i64vec2
 High qualifier 64 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i64, highphighp_i64vec3
 High qualifier 64 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i64, highphighp_i64vec4
 High qualifier 64 bit signed integer vector of 4 components type. More...
 
typedef vec< 1, uint, lowplowp_uvec1
 Low qualifier unsigned integer vector of 1 component type. More...
 
typedef vec< 2, uint, lowplowp_uvec2
 Low qualifier unsigned integer vector of 2 components type. More...
 
typedef vec< 3, uint, lowplowp_uvec3
 Low qualifier unsigned integer vector of 3 components type. More...
 
typedef vec< 4, uint, lowplowp_uvec4
 Low qualifier unsigned integer vector of 4 components type. More...
 
typedef vec< 1, uint, mediumpmediump_uvec1
 Medium qualifier unsigned integer vector of 1 component type. More...
 
typedef vec< 2, uint, mediumpmediump_uvec2
 Medium qualifier unsigned integer vector of 2 components type. More...
 
typedef vec< 3, uint, mediumpmediump_uvec3
 Medium qualifier unsigned integer vector of 3 components type. More...
 
typedef vec< 4, uint, mediumpmediump_uvec4
 Medium qualifier unsigned integer vector of 4 components type. More...
 
typedef vec< 1, uint, highphighp_uvec1
 High qualifier unsigned integer vector of 1 component type. More...
 
typedef vec< 2, uint, highphighp_uvec2
 High qualifier unsigned integer vector of 2 components type. More...
 
typedef vec< 3, uint, highphighp_uvec3
 High qualifier unsigned integer vector of 3 components type. More...
 
typedef vec< 4, uint, highphighp_uvec4
 High qualifier unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u8, lowplowp_u8vec1
 Low qualifier 8 bit unsigned integer scalar type. More...
 
typedef vec< 2, u8, lowplowp_u8vec2
 Low qualifier 8 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u8, lowplowp_u8vec3
 Low qualifier 8 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u8, lowplowp_u8vec4
 Low qualifier 8 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u8, mediumpmediump_u8vec1
 Medium qualifier 8 bit unsigned integer scalar type. More...
 
typedef vec< 2, u8, mediumpmediump_u8vec2
 Medium qualifier 8 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u8, mediumpmediump_u8vec3
 Medium qualifier 8 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u8, mediumpmediump_u8vec4
 Medium qualifier 8 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u8, highphighp_u8vec1
 High qualifier 8 bit unsigned integer scalar type. More...
 
typedef vec< 2, u8, highphighp_u8vec2
 High qualifier 8 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u8, highphighp_u8vec3
 High qualifier 8 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u8, highphighp_u8vec4
 High qualifier 8 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u16, lowplowp_u16vec1
 Low qualifier 16 bit unsigned integer scalar type. More...
 
typedef vec< 2, u16, lowplowp_u16vec2
 Low qualifier 16 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u16, lowplowp_u16vec3
 Low qualifier 16 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u16, lowplowp_u16vec4
 Low qualifier 16 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u16, mediumpmediump_u16vec1
 Medium qualifier 16 bit unsigned integer scalar type. More...
 
typedef vec< 2, u16, mediumpmediump_u16vec2
 Medium qualifier 16 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u16, mediumpmediump_u16vec3
 Medium qualifier 16 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u16, mediumpmediump_u16vec4
 Medium qualifier 16 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u16, highphighp_u16vec1
 High qualifier 16 bit unsigned integer scalar type. More...
 
typedef vec< 2, u16, highphighp_u16vec2
 High qualifier 16 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u16, highphighp_u16vec3
 High qualifier 16 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u16, highphighp_u16vec4
 High qualifier 16 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u32, lowplowp_u32vec1
 Low qualifier 32 bit unsigned integer scalar type. More...
 
typedef vec< 2, u32, lowplowp_u32vec2
 Low qualifier 32 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u32, lowplowp_u32vec3
 Low qualifier 32 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u32, lowplowp_u32vec4
 Low qualifier 32 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u32, mediumpmediump_u32vec1
 Medium qualifier 32 bit unsigned integer scalar type. More...
 
typedef vec< 2, u32, mediumpmediump_u32vec2
 Medium qualifier 32 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u32, mediumpmediump_u32vec3
 Medium qualifier 32 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u32, mediumpmediump_u32vec4
 Medium qualifier 32 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u32, highphighp_u32vec1
 High qualifier 32 bit unsigned integer scalar type. More...
 
typedef vec< 2, u32, highphighp_u32vec2
 High qualifier 32 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u32, highphighp_u32vec3
 High qualifier 32 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u32, highphighp_u32vec4
 High qualifier 32 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u64, lowplowp_u64vec1
 Low qualifier 64 bit unsigned integer scalar type. More...
 
typedef vec< 2, u64, lowplowp_u64vec2
 Low qualifier 64 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u64, lowplowp_u64vec3
 Low qualifier 64 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u64, lowplowp_u64vec4
 Low qualifier 64 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u64, mediumpmediump_u64vec1
 Medium qualifier 64 bit unsigned integer scalar type. More...
 
typedef vec< 2, u64, mediumpmediump_u64vec2
 Medium qualifier 64 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u64, mediumpmediump_u64vec3
 Medium qualifier 64 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u64, mediumpmediump_u64vec4
 Medium qualifier 64 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, u64, highphighp_u64vec1
 High qualifier 64 bit unsigned integer scalar type. More...
 
typedef vec< 2, u64, highphighp_u64vec2
 High qualifier 64 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u64, highphighp_u64vec3
 High qualifier 64 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u64, highphighp_u64vec4
 High qualifier 64 bit unsigned integer vector of 4 components type. More...
 
typedef vec< 1, float, lowplowp_fvec1
 Low single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, float, lowplowp_fvec2
 Low single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, float, lowplowp_fvec3
 Low single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, float, lowplowp_fvec4
 Low single-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, float, mediumpmediump_fvec1
 Medium single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, float, mediumpmediump_fvec2
 Medium Single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, float, mediumpmediump_fvec3
 Medium Single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, float, mediumpmediump_fvec4
 Medium Single-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, float, highphighp_fvec1
 High single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, float, highphighp_fvec2
 High Single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, float, highphighp_fvec3
 High Single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, float, highphighp_fvec4
 High Single-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, f32, defaultp > fvec1
 Single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, defaultp > fvec2
 Single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, defaultp > fvec3
 Single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, defaultp > fvec4
 Single-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, f32, lowplowp_f32vec1
 Low single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, lowplowp_f32vec2
 Low single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, lowplowp_f32vec3
 Low single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, lowplowp_f32vec4
 Low single-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, f32, mediumpmediump_f32vec1
 Medium single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, mediumpmediump_f32vec2
 Medium single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, mediumpmediump_f32vec3
 Medium single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, mediumpmediump_f32vec4
 Medium single-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, f32, highphighp_f32vec1
 High single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, highphighp_f32vec2
 High single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, highphighp_f32vec3
 High single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, highphighp_f32vec4
 High single-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, f32, defaultp > f32vec1
 Single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, defaultp > f32vec2
 Single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, defaultp > f32vec3
 Single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, defaultp > f32vec4
 Single-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, f64, lowplowp_f64vec1
 Low double-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f64, lowplowp_f64vec2
 Low double-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f64, lowplowp_f64vec3
 Low double-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f64, lowplowp_f64vec4
 Low double-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, f64, mediumpmediump_f64vec1
 Medium double-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f64, mediumpmediump_f64vec2
 Medium double-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f64, mediumpmediump_f64vec3
 Medium double-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f64, mediumpmediump_f64vec4
 Medium double-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, f64, highphighp_f64vec1
 High double-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f64, highphighp_f64vec2
 High double-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f64, highphighp_f64vec3
 High double-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f64, highphighp_f64vec4
 High double-qualifier floating-point vector of 4 components. More...
 
typedef vec< 1, f64, defaultp > f64vec1
 Double-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f64, defaultp > f64vec2
 Double-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f64, defaultp > f64vec3
 Double-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f64, defaultp > f64vec4
 Double-qualifier floating-point vector of 4 components. More...
 
typedef mat< 2, 2, f32, lowplowp_fmat2
 Low single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f32, lowplowp_fmat3
 Low single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f32, lowplowp_fmat4
 Low single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, mediumpmediump_fmat2
 Medium single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f32, mediumpmediump_fmat3
 Medium single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f32, mediumpmediump_fmat4
 Medium single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, highphighp_fmat2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f32, highphighp_fmat3
 High single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f32, highphighp_fmat4
 High single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, defaultp > fmat2
 Single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f32, defaultp > fmat3
 Single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f32, defaultp > fmat4
 Single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, lowplowp_f32mat2
 Low single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f32, lowplowp_f32mat3
 Low single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f32, lowplowp_f32mat4
 Low single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, mediumpmediump_f32mat2
 Medium single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f32, mediumpmediump_f32mat3
 Medium single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f32, mediumpmediump_f32mat4
 Medium single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, highphighp_f32mat2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f32, highphighp_f32mat3
 High single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f32, highphighp_f32mat4
 High single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, defaultp > f32mat2
 Single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f32, defaultp > f32mat3
 Single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f32, defaultp > f32mat4
 Single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f64, lowplowp_f64mat2
 Low double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f64, lowplowp_f64mat3
 Low double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f64, lowplowp_f64mat4
 Low double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f64, mediumpmediump_f64mat2
 Medium double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f64, mediumpmediump_f64mat3
 Medium double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f64, mediumpmediump_f64mat4
 Medium double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f64, highphighp_f64mat2
 High double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f64, highphighp_f64mat3
 High double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f64, highphighp_f64mat4
 High double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f64, defaultp > f64mat2
 Double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 3, f64, defaultp > f64mat3
 Double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 4, f64, defaultp > f64mat4
 Double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, lowplowp_fmat2x2
 Low single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, lowplowp_fmat2x3
 Low single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, lowplowp_fmat2x4
 Low single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 2, f32, lowplowp_fmat3x2
 Low single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, lowplowp_fmat3x3
 Low single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, lowplowp_fmat3x4
 Low single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 2, f32, lowplowp_fmat4x2
 Low single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, lowplowp_fmat4x3
 Low single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, lowplowp_fmat4x4
 Low single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, mediumpmediump_fmat2x2
 Medium single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, mediumpmediump_fmat2x3
 Medium single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, mediumpmediump_fmat2x4
 Medium single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 2, f32, mediumpmediump_fmat3x2
 Medium single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, mediumpmediump_fmat3x3
 Medium single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, mediumpmediump_fmat3x4
 Medium single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 2, f32, mediumpmediump_fmat4x2
 Medium single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, mediumpmediump_fmat4x3
 Medium single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, mediumpmediump_fmat4x4
 Medium single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, highphighp_fmat2x2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, highphighp_fmat2x3
 High single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, highphighp_fmat2x4
 High single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 2, f32, highphighp_fmat3x2
 High single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, highphighp_fmat3x3
 High single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, highphighp_fmat3x4
 High single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 2, f32, highphighp_fmat4x2
 High single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, highphighp_fmat4x3
 High single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, highphighp_fmat4x4
 High single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, defaultp > fmat2x2
 Single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 2, f32, defaultp > fmat3x2
 Single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 4, 2, f32, defaultp > fmat4x2
 Single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 2, 3, f32, defaultp > fmat2x3
 Single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 3, 3, f32, defaultp > fmat3x3
 Single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 3, f32, defaultp > fmat4x3
 Single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 2, 4, f32, defaultp > fmat2x4
 Single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 4, f32, defaultp > fmat3x4
 Single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, defaultp > fmat4x4
 Single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, lowplowp_f32mat2x2
 Low single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, lowplowp_f32mat2x3
 Low single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, lowplowp_f32mat2x4
 Low single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 2, f32, lowplowp_f32mat3x2
 Low single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, lowplowp_f32mat3x3
 Low single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, lowplowp_f32mat3x4
 Low single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 2, f32, lowplowp_f32mat4x2
 Low single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, lowplowp_f32mat4x3
 Low single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, lowplowp_f32mat4x4
 Low single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, mediumpmediump_f32mat2x2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, mediumpmediump_f32mat2x3
 Medium single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, mediumpmediump_f32mat2x4
 Medium single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 2, f32, mediumpmediump_f32mat3x2
 Medium single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, mediumpmediump_f32mat3x3
 Medium single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, mediumpmediump_f32mat3x4
 Medium single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 2, f32, mediumpmediump_f32mat4x2
 Medium single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, mediumpmediump_f32mat4x3
 Medium single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, mediumpmediump_f32mat4x4
 Medium single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, highphighp_f32mat2x2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, highphighp_f32mat2x3
 High single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, highphighp_f32mat2x4
 High single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 2, f32, highphighp_f32mat3x2
 High single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, highphighp_f32mat3x3
 High single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, highphighp_f32mat3x4
 High single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 2, f32, highphighp_f32mat4x2
 High single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, highphighp_f32mat4x3
 High single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, highphighp_f32mat4x4
 High single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f32, defaultp > f32mat2x2
 Single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 2, f32, defaultp > f32mat3x2
 Single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 4, 2, f32, defaultp > f32mat4x2
 Single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 2, 3, f32, defaultp > f32mat2x3
 Single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 3, 3, f32, defaultp > f32mat3x3
 Single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 3, f32, defaultp > f32mat4x3
 Single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 2, 4, f32, defaultp > f32mat2x4
 Single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 4, f32, defaultp > f32mat3x4
 Single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, defaultp > f32mat4x4
 Single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f64, lowplowp_f64mat2x2
 Low double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f64, lowplowp_f64mat2x3
 Low double-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f64, lowplowp_f64mat2x4
 Low double-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 2, f64, lowplowp_f64mat3x2
 Low double-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f64, lowplowp_f64mat3x3
 Low double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f64, lowplowp_f64mat3x4
 Low double-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 2, f64, lowplowp_f64mat4x2
 Low double-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f64, lowplowp_f64mat4x3
 Low double-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f64, lowplowp_f64mat4x4
 Low double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f64, mediumpmediump_f64mat2x2
 Medium double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f64, mediumpmediump_f64mat2x3
 Medium double-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f64, mediumpmediump_f64mat2x4
 Medium double-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 2, f64, mediumpmediump_f64mat3x2
 Medium double-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f64, mediumpmediump_f64mat3x3
 Medium double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f64, mediumpmediump_f64mat3x4
 Medium double-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 2, f64, mediumpmediump_f64mat4x2
 Medium double-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f64, mediumpmediump_f64mat4x3
 Medium double-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f64, mediumpmediump_f64mat4x4
 Medium double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f64, highphighp_f64mat2x2
 High double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f64, highphighp_f64mat2x3
 High double-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f64, highphighp_f64mat2x4
 High double-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 2, f64, highphighp_f64mat3x2
 High double-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f64, highphighp_f64mat3x3
 High double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f64, highphighp_f64mat3x4
 High double-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 2, f64, highphighp_f64mat4x2
 High double-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f64, highphighp_f64mat4x3
 High double-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f64, highphighp_f64mat4x4
 High double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, f64, defaultp > f64mat2x2
 Double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 3, 2, f64, defaultp > f64mat3x2
 Double-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 4, 2, f64, defaultp > f64mat4x2
 Double-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 2, 3, f64, defaultp > f64mat2x3
 Double-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 3, 3, f64, defaultp > f64mat3x3
 Double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 4, 3, f64, defaultp > f64mat4x3
 Double-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 2, 4, f64, defaultp > f64mat2x4
 Double-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 4, f64, defaultp > f64mat3x4
 Double-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f64, defaultp > f64mat4x4
 Double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 2, 2, int, lowplowp_imat2x2
 Low-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, lowplowp_imat2x3
 Low-qualifier signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, lowplowp_imat2x4
 Low-qualifier signed integer 2x4 matrix. More...
 
typedef mat< 3, 2, int, lowplowp_imat3x2
 Low-qualifier signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, lowplowp_imat3x3
 Low-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, lowplowp_imat3x4
 Low-qualifier signed integer 3x4 matrix. More...
 
typedef mat< 4, 2, int, lowplowp_imat4x2
 Low-qualifier signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, lowplowp_imat4x3
 Low-qualifier signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, lowplowp_imat4x4
 Low-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, int, mediumpmediump_imat2x2
 Medium-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, mediumpmediump_imat2x3
 Medium-qualifier signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, mediumpmediump_imat2x4
 Medium-qualifier signed integer 2x4 matrix. More...
 
typedef mat< 3, 2, int, mediumpmediump_imat3x2
 Medium-qualifier signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, mediumpmediump_imat3x3
 Medium-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, mediumpmediump_imat3x4
 Medium-qualifier signed integer 3x4 matrix. More...
 
typedef mat< 4, 2, int, mediumpmediump_imat4x2
 Medium-qualifier signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, mediumpmediump_imat4x3
 Medium-qualifier signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, mediumpmediump_imat4x4
 Medium-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, int, highphighp_imat2x2
 High-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, highphighp_imat2x3
 High-qualifier signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, highphighp_imat2x4
 High-qualifier signed integer 2x4 matrix. More...
 
typedef mat< 3, 2, int, highphighp_imat3x2
 High-qualifier signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, highphighp_imat3x3
 High-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, highphighp_imat3x4
 High-qualifier signed integer 3x4 matrix. More...
 
typedef mat< 4, 2, int, highphighp_imat4x2
 High-qualifier signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, highphighp_imat4x3
 High-qualifier signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, highphighp_imat4x4
 High-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, int8, lowplowp_i8mat2x2
 
typedef mat< 2, 3, int8, lowplowp_i8mat2x3
 
typedef mat< 2, 4, int8, lowplowp_i8mat2x4
 
typedef mat< 3, 2, int8, lowplowp_i8mat3x2
 
typedef mat< 3, 3, int8, lowplowp_i8mat3x3
 
typedef mat< 3, 4, int8, lowplowp_i8mat3x4
 
typedef mat< 4, 2, int8, lowplowp_i8mat4x2
 
typedef mat< 4, 3, int8, lowplowp_i8mat4x3
 
typedef mat< 4, 4, int8, lowplowp_i8mat4x4
 
typedef mat< 2, 2, int8, mediumpmediump_i8mat2x2
 
typedef mat< 2, 3, int8, mediumpmediump_i8mat2x3
 
typedef mat< 2, 4, int8, mediumpmediump_i8mat2x4
 
typedef mat< 3, 2, int8, mediumpmediump_i8mat3x2
 
typedef mat< 3, 3, int8, mediumpmediump_i8mat3x3
 
typedef mat< 3, 4, int8, mediumpmediump_i8mat3x4
 
typedef mat< 4, 2, int8, mediumpmediump_i8mat4x2
 
typedef mat< 4, 3, int8, mediumpmediump_i8mat4x3
 
typedef mat< 4, 4, int8, mediumpmediump_i8mat4x4
 
typedef mat< 2, 2, int8, highphighp_i8mat2x2
 
typedef mat< 2, 3, int8, highphighp_i8mat2x3
 
typedef mat< 2, 4, int8, highphighp_i8mat2x4
 
typedef mat< 3, 2, int8, highphighp_i8mat3x2
 
typedef mat< 3, 3, int8, highphighp_i8mat3x3
 
typedef mat< 3, 4, int8, highphighp_i8mat3x4
 
typedef mat< 4, 2, int8, highphighp_i8mat4x2
 
typedef mat< 4, 3, int8, highphighp_i8mat4x3
 
typedef mat< 4, 4, int8, highphighp_i8mat4x4
 
typedef mat< 2, 2, int16, lowplowp_i16mat2x2
 
typedef mat< 2, 3, int16, lowplowp_i16mat2x3
 
typedef mat< 2, 4, int16, lowplowp_i16mat2x4
 
typedef mat< 3, 2, int16, lowplowp_i16mat3x2
 
typedef mat< 3, 3, int16, lowplowp_i16mat3x3
 
typedef mat< 3, 4, int16, lowplowp_i16mat3x4
 
typedef mat< 4, 2, int16, lowplowp_i16mat4x2
 
typedef mat< 4, 3, int16, lowplowp_i16mat4x3
 
typedef mat< 4, 4, int16, lowplowp_i16mat4x4
 
typedef mat< 2, 2, int16, mediumpmediump_i16mat2x2
 
typedef mat< 2, 3, int16, mediumpmediump_i16mat2x3
 
typedef mat< 2, 4, int16, mediumpmediump_i16mat2x4
 
typedef mat< 3, 2, int16, mediumpmediump_i16mat3x2
 
typedef mat< 3, 3, int16, mediumpmediump_i16mat3x3
 
typedef mat< 3, 4, int16, mediumpmediump_i16mat3x4
 
typedef mat< 4, 2, int16, mediumpmediump_i16mat4x2
 
typedef mat< 4, 3, int16, mediumpmediump_i16mat4x3
 
typedef mat< 4, 4, int16, mediumpmediump_i16mat4x4
 
typedef mat< 2, 2, int16, highphighp_i16mat2x2
 
typedef mat< 2, 3, int16, highphighp_i16mat2x3
 
typedef mat< 2, 4, int16, highphighp_i16mat2x4
 
typedef mat< 3, 2, int16, highphighp_i16mat3x2
 
typedef mat< 3, 3, int16, highphighp_i16mat3x3
 
typedef mat< 3, 4, int16, highphighp_i16mat3x4
 
typedef mat< 4, 2, int16, highphighp_i16mat4x2
 
typedef mat< 4, 3, int16, highphighp_i16mat4x3
 
typedef mat< 4, 4, int16, highphighp_i16mat4x4
 
typedef mat< 2, 2, int32, lowplowp_i32mat2x2
 
typedef mat< 2, 3, int32, lowplowp_i32mat2x3
 
typedef mat< 2, 4, int32, lowplowp_i32mat2x4
 
typedef mat< 3, 2, int32, lowplowp_i32mat3x2
 
typedef mat< 3, 3, int32, lowplowp_i32mat3x3
 
typedef mat< 3, 4, int32, lowplowp_i32mat3x4
 
typedef mat< 4, 2, int32, lowplowp_i32mat4x2
 
typedef mat< 4, 3, int32, lowplowp_i32mat4x3
 
typedef mat< 4, 4, int32, lowplowp_i32mat4x4
 
typedef mat< 2, 2, int32, mediumpmediump_i32mat2x2
 
typedef mat< 2, 3, int32, mediumpmediump_i32mat2x3
 
typedef mat< 2, 4, int32, mediumpmediump_i32mat2x4
 
typedef mat< 3, 2, int32, mediumpmediump_i32mat3x2
 
typedef mat< 3, 3, int32, mediumpmediump_i32mat3x3
 
typedef mat< 3, 4, int32, mediumpmediump_i32mat3x4
 
typedef mat< 4, 2, int32, mediumpmediump_i32mat4x2
 
typedef mat< 4, 3, int32, mediumpmediump_i32mat4x3
 
typedef mat< 4, 4, int32, mediumpmediump_i32mat4x4
 
typedef mat< 2, 2, int32, highphighp_i32mat2x2
 
typedef mat< 2, 3, int32, highphighp_i32mat2x3
 
typedef mat< 2, 4, int32, highphighp_i32mat2x4
 
typedef mat< 3, 2, int32, highphighp_i32mat3x2
 
typedef mat< 3, 3, int32, highphighp_i32mat3x3
 
typedef mat< 3, 4, int32, highphighp_i32mat3x4
 
typedef mat< 4, 2, int32, highphighp_i32mat4x2
 
typedef mat< 4, 3, int32, highphighp_i32mat4x3
 
typedef mat< 4, 4, int32, highphighp_i32mat4x4
 
typedef mat< 2, 2, int64, lowplowp_i64mat2x2
 
typedef mat< 2, 3, int64, lowplowp_i64mat2x3
 
typedef mat< 2, 4, int64, lowplowp_i64mat2x4
 
typedef mat< 3, 2, int64, lowplowp_i64mat3x2
 
typedef mat< 3, 3, int64, lowplowp_i64mat3x3
 
typedef mat< 3, 4, int64, lowplowp_i64mat3x4
 
typedef mat< 4, 2, int64, lowplowp_i64mat4x2
 
typedef mat< 4, 3, int64, lowplowp_i64mat4x3
 
typedef mat< 4, 4, int64, lowplowp_i64mat4x4
 
typedef mat< 2, 2, int64, mediumpmediump_i64mat2x2
 
typedef mat< 2, 3, int64, mediumpmediump_i64mat2x3
 
typedef mat< 2, 4, int64, mediumpmediump_i64mat2x4
 
typedef mat< 3, 2, int64, mediumpmediump_i64mat3x2
 
typedef mat< 3, 3, int64, mediumpmediump_i64mat3x3
 
typedef mat< 3, 4, int64, mediumpmediump_i64mat3x4
 
typedef mat< 4, 2, int64, mediumpmediump_i64mat4x2
 
typedef mat< 4, 3, int64, mediumpmediump_i64mat4x3
 
typedef mat< 4, 4, int64, mediumpmediump_i64mat4x4
 
typedef mat< 2, 2, int64, highphighp_i64mat2x2
 
typedef mat< 2, 3, int64, highphighp_i64mat2x3
 
typedef mat< 2, 4, int64, highphighp_i64mat2x4
 
typedef mat< 3, 2, int64, highphighp_i64mat3x2
 
typedef mat< 3, 3, int64, highphighp_i64mat3x3
 
typedef mat< 3, 4, int64, highphighp_i64mat3x4
 
typedef mat< 4, 2, int64, highphighp_i64mat4x2
 
typedef mat< 4, 3, int64, highphighp_i64mat4x3
 
typedef mat< 4, 4, int64, highphighp_i64mat4x4
 
typedef mat< 2, 2, uint, lowplowp_umat2x2
 Low-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, lowplowp_umat2x3
 Low-qualifier unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, lowplowp_umat2x4
 Low-qualifier unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 2, uint, lowplowp_umat3x2
 Low-qualifier unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, lowplowp_umat3x3
 Low-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, lowplowp_umat3x4
 Low-qualifier unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 2, uint, lowplowp_umat4x2
 Low-qualifier unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, lowplowp_umat4x3
 Low-qualifier unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, lowplowp_umat4x4
 Low-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, mediumpmediump_umat2x2
 Medium-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, mediumpmediump_umat2x3
 Medium-qualifier unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, mediumpmediump_umat2x4
 Medium-qualifier unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 2, uint, mediumpmediump_umat3x2
 Medium-qualifier unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, mediumpmediump_umat3x3
 Medium-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, mediumpmediump_umat3x4
 Medium-qualifier unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 2, uint, mediumpmediump_umat4x2
 Medium-qualifier unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, mediumpmediump_umat4x3
 Medium-qualifier unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, mediumpmediump_umat4x4
 Medium-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, highphighp_umat2x2
 High-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, highphighp_umat2x3
 High-qualifier unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, highphighp_umat2x4
 High-qualifier unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 2, uint, highphighp_umat3x2
 High-qualifier unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, highphighp_umat3x3
 High-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, highphighp_umat3x4
 High-qualifier unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 2, uint, highphighp_umat4x2
 High-qualifier unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, highphighp_umat4x3
 High-qualifier unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, highphighp_umat4x4
 High-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint8, lowplowp_u8mat2x2
 
typedef mat< 2, 3, uint8, lowplowp_u8mat2x3
 
typedef mat< 2, 4, uint8, lowplowp_u8mat2x4
 
typedef mat< 3, 2, uint8, lowplowp_u8mat3x2
 
typedef mat< 3, 3, uint8, lowplowp_u8mat3x3
 
typedef mat< 3, 4, uint8, lowplowp_u8mat3x4
 
typedef mat< 4, 2, uint8, lowplowp_u8mat4x2
 
typedef mat< 4, 3, uint8, lowplowp_u8mat4x3
 
typedef mat< 4, 4, uint8, lowplowp_u8mat4x4
 
typedef mat< 2, 2, uint8, mediumpmediump_u8mat2x2
 
typedef mat< 2, 3, uint8, mediumpmediump_u8mat2x3
 
typedef mat< 2, 4, uint8, mediumpmediump_u8mat2x4
 
typedef mat< 3, 2, uint8, mediumpmediump_u8mat3x2
 
typedef mat< 3, 3, uint8, mediumpmediump_u8mat3x3
 
typedef mat< 3, 4, uint8, mediumpmediump_u8mat3x4
 
typedef mat< 4, 2, uint8, mediumpmediump_u8mat4x2
 
typedef mat< 4, 3, uint8, mediumpmediump_u8mat4x3
 
typedef mat< 4, 4, uint8, mediumpmediump_u8mat4x4
 
typedef mat< 2, 2, uint8, highphighp_u8mat2x2
 
typedef mat< 2, 3, uint8, highphighp_u8mat2x3
 
typedef mat< 2, 4, uint8, highphighp_u8mat2x4
 
typedef mat< 3, 2, uint8, highphighp_u8mat3x2
 
typedef mat< 3, 3, uint8, highphighp_u8mat3x3
 
typedef mat< 3, 4, uint8, highphighp_u8mat3x4
 
typedef mat< 4, 2, uint8, highphighp_u8mat4x2
 
typedef mat< 4, 3, uint8, highphighp_u8mat4x3
 
typedef mat< 4, 4, uint8, highphighp_u8mat4x4
 
typedef mat< 2, 2, uint16, lowplowp_u16mat2x2
 
typedef mat< 2, 3, uint16, lowplowp_u16mat2x3
 
typedef mat< 2, 4, uint16, lowplowp_u16mat2x4
 
typedef mat< 3, 2, uint16, lowplowp_u16mat3x2
 
typedef mat< 3, 3, uint16, lowplowp_u16mat3x3
 
typedef mat< 3, 4, uint16, lowplowp_u16mat3x4
 
typedef mat< 4, 2, uint16, lowplowp_u16mat4x2
 
typedef mat< 4, 3, uint16, lowplowp_u16mat4x3
 
typedef mat< 4, 4, uint16, lowplowp_u16mat4x4
 
typedef mat< 2, 2, uint16, mediumpmediump_u16mat2x2
 
typedef mat< 2, 3, uint16, mediumpmediump_u16mat2x3
 
typedef mat< 2, 4, uint16, mediumpmediump_u16mat2x4
 
typedef mat< 3, 2, uint16, mediumpmediump_u16mat3x2
 
typedef mat< 3, 3, uint16, mediumpmediump_u16mat3x3
 
typedef mat< 3, 4, uint16, mediumpmediump_u16mat3x4
 
typedef mat< 4, 2, uint16, mediumpmediump_u16mat4x2
 
typedef mat< 4, 3, uint16, mediumpmediump_u16mat4x3
 
typedef mat< 4, 4, uint16, mediumpmediump_u16mat4x4
 
typedef mat< 2, 2, uint16, highphighp_u16mat2x2
 
typedef mat< 2, 3, uint16, highphighp_u16mat2x3
 
typedef mat< 2, 4, uint16, highphighp_u16mat2x4
 
typedef mat< 3, 2, uint16, highphighp_u16mat3x2
 
typedef mat< 3, 3, uint16, highphighp_u16mat3x3
 
typedef mat< 3, 4, uint16, highphighp_u16mat3x4
 
typedef mat< 4, 2, uint16, highphighp_u16mat4x2
 
typedef mat< 4, 3, uint16, highphighp_u16mat4x3
 
typedef mat< 4, 4, uint16, highphighp_u16mat4x4
 
typedef mat< 2, 2, uint32, lowplowp_u32mat2x2
 
typedef mat< 2, 3, uint32, lowplowp_u32mat2x3
 
typedef mat< 2, 4, uint32, lowplowp_u32mat2x4
 
typedef mat< 3, 2, uint32, lowplowp_u32mat3x2
 
typedef mat< 3, 3, uint32, lowplowp_u32mat3x3
 
typedef mat< 3, 4, uint32, lowplowp_u32mat3x4
 
typedef mat< 4, 2, uint32, lowplowp_u32mat4x2
 
typedef mat< 4, 3, uint32, lowplowp_u32mat4x3
 
typedef mat< 4, 4, uint32, lowplowp_u32mat4x4
 
typedef mat< 2, 2, uint32, mediumpmediump_u32mat2x2
 
typedef mat< 2, 3, uint32, mediumpmediump_u32mat2x3
 
typedef mat< 2, 4, uint32, mediumpmediump_u32mat2x4
 
typedef mat< 3, 2, uint32, mediumpmediump_u32mat3x2
 
typedef mat< 3, 3, uint32, mediumpmediump_u32mat3x3
 
typedef mat< 3, 4, uint32, mediumpmediump_u32mat3x4
 
typedef mat< 4, 2, uint32, mediumpmediump_u32mat4x2
 
typedef mat< 4, 3, uint32, mediumpmediump_u32mat4x3
 
typedef mat< 4, 4, uint32, mediumpmediump_u32mat4x4
 
typedef mat< 2, 2, uint32, highphighp_u32mat2x2
 
typedef mat< 2, 3, uint32, highphighp_u32mat2x3
 
typedef mat< 2, 4, uint32, highphighp_u32mat2x4
 
typedef mat< 3, 2, uint32, highphighp_u32mat3x2
 
typedef mat< 3, 3, uint32, highphighp_u32mat3x3
 
typedef mat< 3, 4, uint32, highphighp_u32mat3x4
 
typedef mat< 4, 2, uint32, highphighp_u32mat4x2
 
typedef mat< 4, 3, uint32, highphighp_u32mat4x3
 
typedef mat< 4, 4, uint32, highphighp_u32mat4x4
 
typedef mat< 2, 2, uint64, lowplowp_u64mat2x2
 
typedef mat< 2, 3, uint64, lowplowp_u64mat2x3
 
typedef mat< 2, 4, uint64, lowplowp_u64mat2x4
 
typedef mat< 3, 2, uint64, lowplowp_u64mat3x2
 
typedef mat< 3, 3, uint64, lowplowp_u64mat3x3
 
typedef mat< 3, 4, uint64, lowplowp_u64mat3x4
 
typedef mat< 4, 2, uint64, lowplowp_u64mat4x2
 
typedef mat< 4, 3, uint64, lowplowp_u64mat4x3
 
typedef mat< 4, 4, uint64, lowplowp_u64mat4x4
 
typedef mat< 2, 2, uint64, mediumpmediump_u64mat2x2
 
typedef mat< 2, 3, uint64, mediumpmediump_u64mat2x3
 
typedef mat< 2, 4, uint64, mediumpmediump_u64mat2x4
 
typedef mat< 3, 2, uint64, mediumpmediump_u64mat3x2
 
typedef mat< 3, 3, uint64, mediumpmediump_u64mat3x3
 
typedef mat< 3, 4, uint64, mediumpmediump_u64mat3x4
 
typedef mat< 4, 2, uint64, mediumpmediump_u64mat4x2
 
typedef mat< 4, 3, uint64, mediumpmediump_u64mat4x3
 
typedef mat< 4, 4, uint64, mediumpmediump_u64mat4x4
 
typedef mat< 2, 2, uint64, highphighp_u64mat2x2
 
typedef mat< 2, 3, uint64, highphighp_u64mat2x3
 
typedef mat< 2, 4, uint64, highphighp_u64mat2x4
 
typedef mat< 3, 2, uint64, highphighp_u64mat3x2
 
typedef mat< 3, 3, uint64, highphighp_u64mat3x3
 
typedef mat< 3, 4, uint64, highphighp_u64mat3x4
 
typedef mat< 4, 2, uint64, highphighp_u64mat4x2
 
typedef mat< 4, 3, uint64, highphighp_u64mat4x3
 
typedef mat< 4, 4, uint64, highphighp_u64mat4x4
 
typedef qua< float, lowplowp_fquat
 
typedef qua< float, mediumpmediump_fquat
 
typedef qua< float, highphighp_fquat
 
typedef qua< float, defaultp > fquat
 
typedef qua< f32, lowplowp_f32quat
 Low single-qualifier floating-point quaternion. More...
 
typedef qua< f32, mediumpmediump_f32quat
 Medium single-qualifier floating-point quaternion. More...
 
typedef qua< f32, highphighp_f32quat
 High single-qualifier floating-point quaternion. More...
 
typedef qua< f32, defaultp > f32quat
 Single-qualifier floating-point quaternion. More...
 
typedef qua< f64, lowplowp_f64quat
 Low double-qualifier floating-point quaternion. More...
 
typedef qua< f64, mediumpmediump_f64quat
 Medium double-qualifier floating-point quaternion. More...
 
typedef qua< f64, highphighp_f64quat
 High double-qualifier floating-point quaternion. More...
 
typedef qua< f64, defaultp > f64quat
 Double-qualifier floating-point quaternion. More...
 
typedef mat< 2, 2, int, highphighp_imat2
 High-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 3, 3, int, highphighp_imat3
 High-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 4, 4, int, highphighp_imat4
 High-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, int, mediumpmediump_imat2
 Medium-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 3, 3, int, mediumpmediump_imat3
 Medium-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 4, 4, int, mediumpmediump_imat4
 Medium-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, int, lowplowp_imat2
 Low-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 3, 3, int, lowplowp_imat3
 Low-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 4, 4, int, lowplowp_imat4
 Low-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, highphighp_umat2
 High-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 3, 3, uint, highphighp_umat3
 High-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 4, 4, uint, highphighp_umat4
 High-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, mediumpmediump_umat2
 Medium-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 3, 3, uint, mediumpmediump_umat3
 Medium-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 4, 4, uint, mediumpmediump_umat4
 Medium-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, lowplowp_umat2
 Low-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 3, 3, uint, lowplowp_umat3
 Low-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 4, 4, uint, lowplowp_umat4
 Low-qualifier unsigned integer 4x4 matrix. More...
 
typedef vec< 1, float, aligned_highp > aligned_highp_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, float, aligned_mediump > aligned_mediump_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, float, aligned_lowp > aligned_lowp_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_highp > aligned_highp_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_mediump > aligned_mediump_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_lowp > aligned_lowp_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, int, aligned_highp > aligned_highp_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 1, int, aligned_mediump > aligned_mediump_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 1, int, aligned_lowp > aligned_lowp_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 1, uint, aligned_highp > aligned_highp_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, uint, aligned_mediump > aligned_mediump_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, uint, aligned_lowp > aligned_lowp_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, bool, aligned_highp > aligned_highp_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 1, bool, aligned_mediump > aligned_mediump_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 1, bool, aligned_lowp > aligned_lowp_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 1, float, packed_highppacked_highp_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, float, packed_mediumppacked_mediump_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, float, packed_lowppacked_lowp_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_highppacked_highp_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_mediumppacked_mediump_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_lowppacked_lowp_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, int, packed_highppacked_highp_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 1, int, packed_mediumppacked_mediump_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 1, int, packed_lowppacked_lowp_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 1, uint, packed_highppacked_highp_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, uint, packed_mediumppacked_mediump_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, uint, packed_lowppacked_lowp_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, bool, packed_highppacked_highp_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 1, bool, packed_mediumppacked_mediump_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 1, bool, packed_lowppacked_lowp_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 2, float, aligned_highp > aligned_highp_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_mediump > aligned_mediump_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_lowp > aligned_lowp_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_highp > aligned_highp_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_mediump > aligned_mediump_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_lowp > aligned_lowp_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, int, aligned_highp > aligned_highp_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_mediump > aligned_mediump_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_lowp > aligned_lowp_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 2, uint, aligned_highp > aligned_highp_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_mediump > aligned_mediump_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_lowp > aligned_lowp_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, bool, aligned_highp > aligned_highp_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_mediump > aligned_mediump_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_lowp > aligned_lowp_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 2, float, packed_highppacked_highp_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_mediumppacked_mediump_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_lowppacked_lowp_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_highppacked_highp_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_mediumppacked_mediump_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_lowppacked_lowp_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, int, packed_highppacked_highp_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_mediumppacked_mediump_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_lowppacked_lowp_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, uint, packed_highppacked_highp_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_mediumppacked_mediump_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_lowppacked_lowp_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, bool, packed_highppacked_highp_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_mediumppacked_mediump_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_lowppacked_lowp_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 3, float, aligned_highp > aligned_highp_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_mediump > aligned_mediump_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_lowp > aligned_lowp_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_highp > aligned_highp_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_mediump > aligned_mediump_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_lowp > aligned_lowp_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, int, aligned_highp > aligned_highp_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_mediump > aligned_mediump_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_lowp > aligned_lowp_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, uint, aligned_highp > aligned_highp_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_mediump > aligned_mediump_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_lowp > aligned_lowp_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, bool, aligned_highp > aligned_highp_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_mediump > aligned_mediump_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_lowp > aligned_lowp_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 3, float, packed_highppacked_highp_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_mediumppacked_mediump_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_lowppacked_lowp_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_highppacked_highp_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_mediumppacked_mediump_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_lowppacked_lowp_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, int, packed_highppacked_highp_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_mediumppacked_mediump_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_lowppacked_lowp_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, uint, packed_highppacked_highp_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_mediumppacked_mediump_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_lowppacked_lowp_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, bool, packed_highppacked_highp_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_mediumppacked_mediump_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_lowppacked_lowp_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 4, float, aligned_highp > aligned_highp_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_mediump > aligned_mediump_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_lowp > aligned_lowp_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_highp > aligned_highp_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_mediump > aligned_mediump_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_lowp > aligned_lowp_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, int, aligned_highp > aligned_highp_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_mediump > aligned_mediump_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_lowp > aligned_lowp_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, uint, aligned_highp > aligned_highp_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_mediump > aligned_mediump_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_lowp > aligned_lowp_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, bool, aligned_highp > aligned_highp_bvec4
 4 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_mediump > aligned_mediump_bvec4
 4 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_lowp > aligned_lowp_bvec4
 4 components vector aligned in memory of bool values.
 
typedef vec< 4, float, packed_highppacked_highp_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_mediumppacked_mediump_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_lowppacked_lowp_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_highppacked_highp_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_mediumppacked_mediump_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_lowppacked_lowp_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, int, packed_highppacked_highp_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_mediumppacked_mediump_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_lowppacked_lowp_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, uint, packed_highppacked_highp_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_mediumppacked_mediump_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_lowppacked_lowp_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, bool, packed_highppacked_highp_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_mediumppacked_mediump_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_lowppacked_lowp_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef mat< 2, 2, float, aligned_highp > aligned_highp_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_highp > aligned_highp_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_highppacked_highp_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_mediumppacked_mediump_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_lowppacked_lowp_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_highppacked_highp_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_mediumppacked_mediump_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_lowppacked_lowp_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_highp > aligned_highp_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_highp > aligned_highp_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_highppacked_highp_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_mediumppacked_mediump_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_lowppacked_lowp_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_highppacked_highp_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_mediumppacked_mediump_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_lowppacked_lowp_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_highp > aligned_highp_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_highp > aligned_highp_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_highppacked_highp_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_mediumppacked_mediump_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_lowppacked_lowp_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_highppacked_highp_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_mediumppacked_mediump_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_lowppacked_lowp_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_highp > aligned_highp_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_highp > aligned_highp_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_highppacked_highp_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_mediumppacked_mediump_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_lowppacked_lowp_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_highppacked_highp_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_mediumppacked_mediump_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_lowppacked_lowp_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_highp > aligned_highp_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_mediump > aligned_mediump_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_lowp > aligned_lowp_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_highp > aligned_highp_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_mediump > aligned_mediump_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_lowp > aligned_lowp_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_highppacked_highp_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_mediumppacked_mediump_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_lowppacked_lowp_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_highppacked_highp_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_mediumppacked_mediump_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_lowppacked_lowp_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_highp > aligned_highp_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_mediump > aligned_mediump_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_lowp > aligned_lowp_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_highp > aligned_highp_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_mediump > aligned_mediump_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_lowp > aligned_lowp_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_highppacked_highp_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_mediumppacked_mediump_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_lowppacked_lowp_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_highppacked_highp_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_mediumppacked_mediump_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_lowppacked_lowp_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_highp > aligned_highp_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_mediump > aligned_mediump_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_lowp > aligned_lowp_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_highp > aligned_highp_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_mediump > aligned_mediump_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_lowp > aligned_lowp_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_highppacked_highp_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_mediumppacked_mediump_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_lowppacked_lowp_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_highppacked_highp_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_mediumppacked_mediump_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_lowppacked_lowp_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_highp > aligned_highp_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_highp > aligned_highp_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_highppacked_highp_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_mediumppacked_mediump_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_lowppacked_lowp_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_highppacked_highp_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_mediumppacked_mediump_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_lowppacked_lowp_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_highp > aligned_highp_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_mediump > aligned_mediump_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_lowp > aligned_lowp_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_highp > aligned_highp_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_mediump > aligned_mediump_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_lowp > aligned_lowp_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_highppacked_highp_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_mediumppacked_mediump_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_lowppacked_lowp_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_highppacked_highp_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_mediumppacked_mediump_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_lowppacked_lowp_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_highp > aligned_highp_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_mediump > aligned_mediump_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_lowp > aligned_lowp_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_highp > aligned_highp_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_mediump > aligned_mediump_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_lowp > aligned_lowp_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_highppacked_highp_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_mediumppacked_mediump_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_lowppacked_lowp_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_highppacked_highp_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_mediumppacked_mediump_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_lowppacked_lowp_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_highp > aligned_highp_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_mediump > aligned_mediump_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_lowp > aligned_lowp_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_highp > aligned_highp_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_mediump > aligned_mediump_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_lowp > aligned_lowp_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_highppacked_highp_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_mediumppacked_mediump_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_lowppacked_lowp_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_highppacked_highp_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_mediumppacked_mediump_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_lowppacked_lowp_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_highp > aligned_highp_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_highp > aligned_highp_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_highppacked_highp_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_mediumppacked_mediump_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_lowppacked_lowp_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_highppacked_highp_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_mediumppacked_mediump_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_lowppacked_lowp_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef aligned_highp_vec1 aligned_vec1
 1 component vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec2 aligned_vec2
 2 components vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec3 aligned_vec3
 3 components vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec4 aligned_vec4
 4 components vector aligned in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec1 packed_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec2 packed_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec3 packed_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec4 packed_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2 aligned_mat2
 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3 aligned_mat3
 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4 aligned_mat4
 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2 packed_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3 packed_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4 packed_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x2 aligned_mat2x2
 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x3 aligned_mat2x3
 2 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x4 aligned_mat2x4
 2 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x2 aligned_mat3x2
 3 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x3 aligned_mat3x3
 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x4 aligned_mat3x4
 3 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x2 aligned_mat4x2
 4 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x3 aligned_mat4x3
 4 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x4 aligned_mat4x4
 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x2 packed_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x3 packed_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x4 packed_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x2 packed_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x3 packed_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x4 packed_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x2 packed_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x3 packed_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x4 packed_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef aligned_highp_dvec1 aligned_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec2 aligned_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec3 aligned_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec4 aligned_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec1 packed_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec2 packed_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec3 packed_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec4 packed_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2 aligned_dmat2
 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3 aligned_dmat3
 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4 aligned_dmat4
 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2 packed_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3 packed_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4 packed_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x2 aligned_dmat2x2
 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x3 aligned_dmat2x3
 2 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x4 aligned_dmat2x4
 2 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x2 aligned_dmat3x2
 3 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x3 aligned_dmat3x3
 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x4 aligned_dmat3x4
 3 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x2 aligned_dmat4x2
 4 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x3 aligned_dmat4x3
 4 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x4 aligned_dmat4x4
 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x2 packed_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x3 packed_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x4 packed_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x2 packed_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x3 packed_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x4 packed_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x2 packed_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x3 packed_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x4 packed_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef aligned_highp_ivec1 aligned_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec2 aligned_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec3 aligned_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec4 aligned_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef packed_highp_ivec1 packed_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec2 packed_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec3 packed_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec4 packed_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef aligned_highp_uvec1 aligned_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec2 aligned_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec3 aligned_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec4 aligned_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef packed_highp_uvec1 packed_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec2 packed_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec3 packed_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec4 packed_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef aligned_highp_bvec1 aligned_bvec1
 1 component vector aligned in memory of bool values.
 
typedef aligned_highp_bvec2 aligned_bvec2
 2 components vector aligned in memory of bool values.
 
typedef aligned_highp_bvec3 aligned_bvec3
 3 components vector aligned in memory of bool values.
 
typedef aligned_highp_bvec4 aligned_bvec4
 4 components vector aligned in memory of bool values.
 
typedef packed_highp_bvec1 packed_bvec1
 1 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec2 packed_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec3 packed_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec4 packed_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef bool bool1
 boolean type with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, bool, highpbool2
 boolean type with 2 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, bool, highpbool3
 boolean type with 3 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, bool, highpbool4
 boolean type with 4 components. (From GLM_GTX_compatibility extension)
 
typedef bool bool1x1
 boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, bool, highpbool2x2
 boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, bool, highpbool2x3
 boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, bool, highpbool2x4
 boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, bool, highpbool3x2
 boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, bool, highpbool3x3
 boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, bool, highpbool3x4
 boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, bool, highpbool4x2
 boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, bool, highpbool4x3
 boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, bool, highpbool4x4
 boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef int int1
 integer vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, int, highpint2
 integer vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, int, highpint3
 integer vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, int, highpint4
 integer vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef int int1x1
 integer matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, int, highpint2x2
 integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, int, highpint2x3
 integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, int, highpint2x4
 integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, int, highpint3x2
 integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, int, highpint3x3
 integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, int, highpint3x4
 integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, int, highpint4x2
 integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, int, highpint4x3
 integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, int, highpint4x4
 integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef float float1
 single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, float, highpfloat2
 single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, float, highpfloat3
 single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, float, highpfloat4
 single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef float float1x1
 single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, float, highpfloat2x2
 single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, float, highpfloat2x3
 single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, float, highpfloat2x4
 single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, float, highpfloat3x2
 single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, float, highpfloat3x3
 single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, float, highpfloat3x4
 single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, float, highpfloat4x2
 single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, float, highpfloat4x3
 single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, float, highpfloat4x4
 single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef double double1
 double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, double, highpdouble2
 double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, double, highpdouble3
 double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, double, highpdouble4
 double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef double double1x1
 double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, double, highpdouble2x2
 double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, double, highpdouble2x3
 double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, double, highpdouble2x4
 double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, double, highpdouble3x2
 double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, double, highpdouble3x3
 double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, double, highpdouble3x4
 double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, double, highpdouble4x2
 double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, double, highpdouble4x3
 double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, double, highpdouble4x4
 double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef tdualquat< float, lowplowp_dualquat
 Dual-quaternion of low single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, mediumpmediump_dualquat
 Dual-quaternion of medium single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, highphighp_dualquat
 Dual-quaternion of high single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, lowplowp_fdualquat
 Dual-quaternion of low single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, mediumpmediump_fdualquat
 Dual-quaternion of medium single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, highphighp_fdualquat
 Dual-quaternion of high single-qualifier floating-point numbers. More...
 
typedef tdualquat< double, lowplowp_ddualquat
 Dual-quaternion of low double-qualifier floating-point numbers. More...
 
typedef tdualquat< double, mediumpmediump_ddualquat
 Dual-quaternion of medium double-qualifier floating-point numbers. More...
 
typedef tdualquat< double, highphighp_ddualquat
 Dual-quaternion of high double-qualifier floating-point numbers. More...
 
typedef highp_fdualquat dualquat
 Dual-quaternion of floating-point numbers. More...
 
typedef highp_fdualquat fdualquat
 Dual-quaternion of single-qualifier floating-point numbers. More...
 
typedef highp_ddualquat ddualquat
 Dual-quaternion of default double-qualifier floating-point numbers. More...
 
typedef signed int sint
 32bit signed integer. More...
 
typedef detail::uint8 byte
 Type for byte numbers. More...
 
typedef detail::uint16 word
 Type for word numbers. More...
 
typedef detail::uint32 dword
 Type for dword numbers. More...
 
typedef detail::uint64 qword
 Type for qword numbers. More...
 
template<typename T , typename Vec >
using return_type_scalar_multiplication = typename std::enable_if< !std::is_same< T, float >::value &&std::is_arithmetic< T >::value, Vec >::type
 
typedef vec< 1, std::size_t, defaultp > size1
 Vector type based of one std::size_t component. More...
 
typedef vec< 2, std::size_t, defaultp > size2
 Vector type based of two std::size_t components. More...
 
typedef vec< 3, std::size_t, defaultp > size3
 Vector type based of three std::size_t components. More...
 
typedef vec< 4, std::size_t, defaultp > size4
 Vector type based of four std::size_t components. More...
 
typedef vec< 1, std::size_t, defaultp > size1_t
 Vector type based of one std::size_t component. More...
 
typedef vec< 2, std::size_t, defaultp > size2_t
 Vector type based of two std::size_t components. More...
 
typedef vec< 3, std::size_t, defaultp > size3_t
 Vector type based of three std::size_t components. More...
 
typedef vec< 4, std::size_t, defaultp > size4_t
 Vector type based of four std::size_t components. More...
 
typedef mat< 4, 4, float, defaultp > mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 4, 4, float, defaultp > mat4
 4 columns of 4 components matrix of single-precision floating-point numbers. More...
 

Enumerations

enum  qualifier {
  packed_highp, packed_mediump, packed_lowp, highp = packed_highp,
  mediump = packed_mediump, lowp = packed_lowp, packed = packed_highp, defaultp = highp
}
 Qualify GLM types in term of alignment (packed, aligned) and precision in term of ULPs (lowp, mediump, highp) More...
 

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType abs (genType x)
 Returns x if x >= 0; otherwise, it returns -x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > abs (vec< L, T, Q > const &x)
 Returns x if x >= 0; otherwise, it returns -x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sign (vec< L, T, Q > const &x)
 Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floor (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is less then or equal to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > trunc (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > round (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundEven (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceil (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is greater than or equal to x. More...
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType x)
 Return x - floor(x). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fract (vec< L, T, Q > const &x)
 Return x - floor(x). More...
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mod (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mod (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Modulus. More...
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType x, genType &i)
 Returns the fractional part of x and sets i to the integer part (as a whole number floating point value). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType min (genType x, genType y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, T y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType max (genType x, genType y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, T y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType clamp (genType x, genType minVal, genType maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT mix (genTypeT x, genTypeT y, genTypeU a)
 If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, U, Q > const &a)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, U a)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType edge, genType x)
 Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > step (T edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > step (vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType edge0, genType edge1, genType x)
 Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > smoothstep (T edge0, T edge1, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > smoothstep (vec< L, T, Q > const &edge0, vec< L, T, Q > const &edge1, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isnan (vec< L, T, Q > const &x)
 Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isinf (vec< L, T, Q > const &x)
 Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. More...
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 Returns a signed integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > floatBitsToInt (vec< L, float, Q > const &v)
 Returns a signed integer value representing the encoding of a floating-point value. More...
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 Returns a unsigned integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > floatBitsToUint (vec< L, float, Q > const &v)
 Returns a unsigned integer value representing the encoding of a floating-point value. More...
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > intBitsToFloat (vec< L, int, Q > const &v)
 Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. More...
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > uintBitsToFloat (vec< L, uint, Q > const &v)
 Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. More...
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 Computes and returns a * b + c. More...
 
template<typename genType >
GLM_FUNC_DECL genType frexp (genType x, int &exp)
 Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent) More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > frexp (vec< L, T, Q > const &v, vec< L, int, Q > &exp)
 
template<typename genType >
GLM_FUNC_DECL genType ldexp (genType const &x, int const &exp)
 Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent) More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ldexp (vec< L, T, Q > const &v, vec< L, int, Q > const &exp)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType min (genType x, genType y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType max (genType x, genType y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR int abs (int x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType round (genType x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType trunc (genType x)
 
template<typename genFIType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genFIType abs (genFIType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > abs (vec< L, T, Q > const &x)
 Returns x if x >= 0; otherwise, it returns -x. More...
 
template<typename genFIType >
GLM_FUNC_QUALIFIER genFIType sign (genFIType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sign (vec< L, T, Q > const &x)
 Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > floor (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is less then or equal to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > trunc (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > round (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType roundEven (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > roundEven (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > ceil (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is greater than or equal to x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fract (genType x)
 Return x - floor(x). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fract (vec< L, T, Q > const &x)
 Return x - floor(x). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType mod (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mod (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mod (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Modulus. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType modf (genType x, genType &i)
 Returns the fractional part of x and sets i to the integer part (as a whole number floating point value). More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 1, T, Q > modf (vec< 1, T, Q > const &x, vec< 1, T, Q > &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > modf (vec< 2, T, Q > const &x, vec< 2, T, Q > &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > modf (vec< 3, T, Q > const &x, vec< 3, T, Q > &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > modf (vec< 4, T, Q > const &x, vec< 4, T, Q > &i)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, T b)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &a, T b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType clamp (genType x, genType minVal, genType maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_QUALIFIER genTypeT mix (genTypeT x, genTypeT y, genTypeU a)
 If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, U a)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, U, Q > const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType step (genType edge, genType x)
 Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > step (T edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > step (vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType smoothstep (genType edge0, genType edge1, genType x)
 Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > smoothstep (T edge0, T edge1, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > smoothstep (vec< L, T, Q > const &edge0, vec< L, T, Q > const &edge1, vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isnan (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isnan (vec< L, T, Q > const &v)
 Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isinf (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isinf (vec< L, T, Q > const &v)
 Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > floatBitsToInt (vec< L, float, Q > const &v)
 Returns a signed integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint, Q > floatBitsToUint (vec< L, float, Q > const &v)
 Returns a unsigned integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > intBitsToFloat (vec< L, int, Q > const &v)
 Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > uintBitsToFloat (vec< L, uint, Q > const &v)
 Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fma (genType const &a, genType const &b, genType const &c)
 Computes and returns a * b + c. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType frexp (genType x, int &exp)
 Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent) More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > frexp (vec< L, T, Q > const &v, vec< L, int, Q > &exp)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ldexp (genType const &x, int const &exp)
 Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent) More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > ldexp (vec< L, T, Q > const &v, vec< L, int, Q > const &exp)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > pow (vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)
 Returns 'base' raised to the power 'exponent'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > exp (vec< L, T, Q > const &x)
 Returns the natural exponentiation of x, i.e., e^x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > log (vec< L, T, Q > const &x)
 Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType exp2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > exp2 (vec< L, T, Q > const &x)
 Returns 2 raised to the v power. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType log2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > log2 (vec< L, T, Q > const &x)
 Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sqrt (vec< L, T, Q > const &x)
 Returns the positive square root of v. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType inversesqrt (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > inversesqrt (vec< L, T, Q > const &x)
 Returns the reciprocal of the positive square root of v. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType length (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T length (vec< L, T, Q > const &v)
 Returns the length of x, i.e., sqrt(x * x). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType distance (genType const &p0, genType const &p1)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T distance (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). More...
 
template<typename T >
GLM_FUNC_QUALIFIER T dot (T x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T dot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the dot product of x and y, i.e., result = x * y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > cross (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the cross product of x and y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > normalize (vec< L, T, Q > const &x)
 Returns a vector in the same direction as x but with length of 1. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > faceforward (vec< L, T, Q > const &N, vec< L, T, Q > const &I, vec< L, T, Q > const &Nref)
 If dot(Nref, I) < 0.0, return N, otherwise, return -N. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType reflect (genType const &I, genType const &N)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > reflect (vec< L, T, Q > const &I, vec< L, T, Q > const &N)
 For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType refract (genType const &I, genType const &N, genType eta)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > refract (vec< L, T, Q > const &I, vec< L, T, Q > const &N, T eta)
 For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector. More...
 
GLM_FUNC_QUALIFIER uint uaddCarry (uint const &x, uint const &y, uint &Carry)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint, Q > uaddCarry (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &Carry)
 Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32). More...
 
GLM_FUNC_QUALIFIER uint usubBorrow (uint const &x, uint const &y, uint &Borrow)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint, Q > usubBorrow (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &Borrow)
 Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise. More...
 
GLM_FUNC_QUALIFIER void umulExtended (uint const &x, uint const &y, uint &msb, uint &lsb)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER void umulExtended (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &msb, vec< L, uint, Q > &lsb)
 Multiplies 32-bit integers x and y, producing a 64-bit result. More...
 
GLM_FUNC_QUALIFIER void imulExtended (int x, int y, int &msb, int &lsb)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER void imulExtended (vec< L, int, Q > const &x, vec< L, int, Q > const &y, vec< L, int, Q > &msb, vec< L, int, Q > &lsb)
 Multiplies 32-bit integers x and y, producing a 64-bit result. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldExtract (genIUType Value, int Offset, int Bits)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldExtract (vec< L, T, Q > const &Value, int Offset, int Bits)
 Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldInsert (genIUType const &Base, genIUType const &Insert, int Offset, int Bits)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldInsert (vec< L, T, Q > const &Base, vec< L, T, Q > const &Insert, int Offset, int Bits)
 Returns the insertion the bits least-significant bits of insert into base. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldReverse (genIUType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldReverse (vec< L, T, Q > const &v)
 Returns the reversal of the bits of value. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int bitCount (genIUType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > bitCount (vec< L, T, Q > const &v)
 Returns the number of bits set to 1 in the binary representation of value. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int findLSB (genIUType Value)
 Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > findLSB (vec< L, T, Q > const &x)
 Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int findMSB (genIUType v)
 Returns the bit number of the most significant bit in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > findMSB (vec< L, T, Q > const &v)
 Returns the bit number of the most significant bit in the binary representation of value. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > matrixCompMult (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j]. More...
 
template<length_t DA, length_t DB, typename T , qualifier Q>
GLM_FUNC_QUALIFIER detail::outerProduct_trait< DA, DB, T, Q >::type outerProduct (vec< DA, T, Q > const &c, vec< DB, T, Q > const &r)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q >::transpose_type transpose (mat< C, R, T, Q > const &m)
 Returns the transposed matrix of x. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T determinant (mat< C, R, T, Q > const &m)
 Return the determinant of a squared matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > inverse (mat< C, R, T, Q > const &m)
 Return the inverse of a squared matrix. More...
 
GLM_FUNC_QUALIFIER uint packUnorm2x16 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_QUALIFIER vec2 unpackUnorm2x16 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_QUALIFIER uint packSnorm2x16 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_QUALIFIER vec2 unpackSnorm2x16 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_QUALIFIER uint packUnorm4x8 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_QUALIFIER vec4 unpackUnorm4x8 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_QUALIFIER uint packSnorm4x8 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_QUALIFIER glm::vec4 unpackSnorm4x8 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_QUALIFIER double packDouble2x32 (uvec2 const &v)
 Returns a double-qualifier value obtained by packing the components of v into a 64-bit value. More...
 
GLM_FUNC_QUALIFIER uvec2 unpackDouble2x32 (double v)
 Returns a two-component unsigned integer vector representation of v. More...
 
GLM_FUNC_QUALIFIER uint packHalf2x16 (vec2 const &v)
 Returns an unsigned integer obtained by converting the components of a two-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these two 16- bit integers into a 32-bit unsigned integer. More...
 
GLM_FUNC_QUALIFIER vec2 unpackHalf2x16 (uint v)
 Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType radians (genType degrees)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > radians (vec< L, T, Q > const &v)
 Converts degrees to radians and returns the result. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType degrees (genType radians)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > degrees (vec< L, T, Q > const &v)
 Converts radians to degrees and returns the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sin (vec< L, T, Q > const &v)
 The standard trigonometric sine function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > cos (vec< L, T, Q > const &v)
 The standard trigonometric cosine function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > tan (vec< L, T, Q > const &v)
 The standard trigonometric tangent function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > asin (vec< L, T, Q > const &v)
 Arc sine. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acos (vec< L, T, Q > const &v)
 Arc cosine. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType atan (genType y, genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > atan (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Arc tangent. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > atan (vec< L, T, Q > const &v)
 Arc tangent. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sinh (vec< L, T, Q > const &v)
 Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > cosh (vec< L, T, Q > const &v)
 Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > tanh (vec< L, T, Q > const &v)
 Returns the hyperbolic tangent function, sinh(angle) / cosh(angle) More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType asinh (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > asinh (vec< L, T, Q > const &v)
 Arc hyperbolic sine; returns the inverse of sinh. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acosh (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acosh (vec< L, T, Q > const &v)
 Arc hyperbolic cosine; returns the non-negative inverse of cosh. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType atanh (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > atanh (vec< L, T, Q > const &v)
 Arc hyperbolic tangent; returns the inverse of tanh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > lessThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison result of x < y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > lessThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x <= y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > greaterThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x > y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > greaterThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x >= y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x == y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x != y. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool any (vec< L, bool, Q > const &v)
 Returns true if any component of x is true. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool all (vec< L, bool, Q > const &v)
 Returns true if all components of x are true. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > not_ (vec< L, bool, Q > const &v)
 Returns the component-wise logical complement of x. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator+ (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator- (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q >::col_type operator* (mat< 2, 2, T, Q > const &m, typename mat< 2, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q >::row_type operator* (typename mat< 2, 2, T, Q >::col_type const &v, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator/ (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator/ (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q >::col_type operator/ (mat< 2, 2, T, Q > const &m, typename mat< 2, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q >::row_type operator/ (typename mat< 2, 2, T, Q >::col_type const &v, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator/ (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator+ (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator- (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q >::col_type operator* (mat< 2, 2, T, Q > const &m, typename mat< 2, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q >::row_type operator* (typename mat< 2, 2, T, Q >::col_type const &v, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator/ (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator/ (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q >::col_type operator/ (mat< 2, 2, T, Q > const &m, typename mat< 2, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q >::row_type operator/ (typename mat< 2, 2, T, Q >::col_type const &v, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator/ (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (T scalar, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q >::col_type operator* (mat< 2, 3, T, Q > const &m, typename mat< 2, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q >::row_type operator* (typename mat< 2, 3, T, Q >::col_type const &v, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator/ (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator/ (T scalar, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (T scalar, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q >::col_type operator* (mat< 2, 3, T, Q > const &m, typename mat< 2, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q >::row_type operator* (typename mat< 2, 3, T, Q >::col_type const &v, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator/ (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator/ (T scalar, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (T scalar, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q >::col_type operator* (mat< 2, 4, T, Q > const &m, typename mat< 2, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q >::row_type operator* (typename mat< 2, 4, T, Q >::col_type const &v, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator/ (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator/ (T scalar, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (T scalar, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q >::col_type operator* (mat< 2, 4, T, Q > const &m, typename mat< 2, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q >::row_type operator* (typename mat< 2, 4, T, Q >::col_type const &v, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator/ (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator/ (T scalar, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (T scalar, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q >::col_type operator* (mat< 3, 2, T, Q > const &m, typename mat< 3, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q >::row_type operator* (typename mat< 3, 2, T, Q >::col_type const &v, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator/ (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator/ (T scalar, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (T scalar, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q >::col_type operator* (mat< 3, 2, T, Q > const &m, typename mat< 3, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q >::row_type operator* (typename mat< 3, 2, T, Q >::col_type const &v, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator/ (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator/ (T scalar, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator+ (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator- (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q >::col_type operator* (mat< 3, 3, T, Q > const &m, typename mat< 3, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q >::row_type operator* (typename mat< 3, 3, T, Q >::col_type const &v, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator/ (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator/ (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q >::col_type operator/ (mat< 3, 3, T, Q > const &m, typename mat< 3, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q >::row_type operator/ (typename mat< 3, 3, T, Q >::col_type const &v, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator/ (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator+ (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator- (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q >::col_type operator* (mat< 3, 3, T, Q > const &m, typename mat< 3, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q >::row_type operator* (typename mat< 3, 3, T, Q >::col_type const &v, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator/ (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator/ (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q >::col_type operator/ (mat< 3, 3, T, Q > const &m, typename mat< 3, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q >::row_type operator/ (typename mat< 3, 3, T, Q >::col_type const &v, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator/ (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (T scalar, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q >::col_type operator* (mat< 3, 4, T, Q > const &m, typename mat< 3, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q >::row_type operator* (typename mat< 3, 4, T, Q >::col_type const &v, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator/ (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator/ (T scalar, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (T scalar, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q >::col_type operator* (mat< 3, 4, T, Q > const &m, typename mat< 3, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q >::row_type operator* (typename mat< 3, 4, T, Q >::col_type const &v, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator/ (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator/ (T scalar, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (T scalar, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q >::col_type operator* (mat< 4, 2, T, Q > const &m, typename mat< 4, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q >::row_type operator* (typename mat< 4, 2, T, Q >::col_type const &v, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator/ (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator/ (T scalar, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (T scalar, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q >::col_type operator* (mat< 4, 2, T, Q > const &m, typename mat< 4, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q >::row_type operator* (typename mat< 4, 2, T, Q >::col_type const &v, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator/ (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator/ (T scalar, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (T const &s, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q >::col_type operator* (mat< 4, 3, T, Q > const &m, typename mat< 4, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q >::row_type operator* (typename mat< 4, 3, T, Q >::col_type const &v, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator/ (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator/ (T const &s, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (T const &s, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q >::col_type operator* (mat< 4, 3, T, Q > const &m, typename mat< 4, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q >::row_type operator* (typename mat< 4, 3, T, Q >::col_type const &v, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator/ (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator/ (T const &s, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator+ (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator- (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q >::col_type operator* (mat< 4, 4, T, Q > const &m, typename mat< 4, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q >::row_type operator* (typename mat< 4, 4, T, Q >::col_type const &v, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator/ (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator/ (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q >::col_type operator/ (mat< 4, 4, T, Q > const &m, typename mat< 4, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q >::row_type operator/ (typename mat< 4, 4, T, Q >::col_type const &v, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator/ (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator+ (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator- (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q >::col_type operator* (mat< 4, 4, T, Q > const &m, typename mat< 4, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q >::row_type operator* (typename mat< 4, 4, T, Q >::col_type const &v, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator/ (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator/ (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q >::col_type operator/ (mat< 4, 4, T, Q > const &m, typename mat< 4, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q >::row_type operator/ (typename mat< 4, 4, T, Q >::col_type const &v, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator/ (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator+ (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator- (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator+ (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator- (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator* (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator* (qua< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator* (T const &s, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator/ (qua< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (qua< T, Q > const &q1, qua< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (qua< T, Q > const &q1, qua< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator+ (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator- (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator+ (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator- (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator* (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator* (qua< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator* (T const &s, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator/ (qua< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (qua< T, Q > const &q1, qua< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (qua< T, Q > const &q1, qua< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator+ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator- (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator* (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator* (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator/ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator/ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator% (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator% (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator & (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator & (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator & (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator| (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator| (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator^ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator^ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator<< (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator<< (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator>> (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator>> (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator~ (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, bool, Q > operator && (vec< 1, bool, Q > const &v1, vec< 1, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, bool, Q > operator|| (vec< 1, bool, Q > const &v1, vec< 1, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator+ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator- (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator* (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator* (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator/ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator/ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator% (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator% (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator & (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator & (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator & (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator| (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator| (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator^ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator^ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator<< (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator<< (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator>> (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator>> (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator~ (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, bool, Q > operator && (vec< 1, bool, Q > const &v1, vec< 1, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, bool, Q > operator|| (vec< 1, bool, Q > const &v1, vec< 1, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator & (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator & (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator & (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator & (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator & (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator~ (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, bool, Q > operator && (vec< 2, bool, Q > const &v1, vec< 2, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, bool, Q > operator|| (vec< 2, bool, Q > const &v1, vec< 2, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator & (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator & (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator & (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator & (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator & (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator~ (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, bool, Q > operator && (vec< 2, bool, Q > const &v1, vec< 2, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, bool, Q > operator|| (vec< 2, bool, Q > const &v1, vec< 2, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator & (vec< 3, T, Q > const &v1, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator & (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator & (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator & (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator & (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator~ (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, bool, Q > operator && (vec< 3, bool, Q > const &v1, vec< 3, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, bool, Q > operator|| (vec< 3, bool, Q > const &v1, vec< 3, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator & (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator & (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator & (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator & (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator & (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator~ (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, bool, Q > operator && (vec< 3, bool, Q > const &v1, vec< 3, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, bool, Q > operator|| (vec< 3, bool, Q > const &v1, vec< 3, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator & (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator & (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator & (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator & (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator & (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator~ (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, bool, Q > operator && (vec< 4, bool, Q > const &v1, vec< 4, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, bool, Q > operator|| (vec< 4, bool, Q > const &v1, vec< 4, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator & (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator & (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator & (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator & (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator & (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator~ (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, bool, Q > operator && (vec< 4, bool, Q > const &v1, vec< 4, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, bool, Q > operator|| (vec< 4, bool, Q > const &v1, vec< 4, bool, Q > const &v2)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > pow (vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)
 Returns 'base' raised to the power 'exponent'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > exp (vec< L, T, Q > const &v)
 Returns the natural exponentiation of x, i.e., e^x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > log (vec< L, T, Q > const &v)
 Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > exp2 (vec< L, T, Q > const &v)
 Returns 2 raised to the v power. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > log2 (vec< L, T, Q > const &v)
 Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sqrt (vec< L, T, Q > const &v)
 Returns the positive square root of v. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > inversesqrt (vec< L, T, Q > const &v)
 Returns the reciprocal of the positive square root of v. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top)
 Creates a matrix for projecting two-dimensional coordinates onto the screen. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoNO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_ZO (T left, T right, T bottom, T top, T near, T far)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_NO (T left, T right, T bottom, T top, T near, T far)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_ZO (T left, T right, T bottom, T top, T near, T far)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_NO (T left, T right, T bottom, T top, T near, T far)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumZO (T left, T right, T bottom, T top, T near, T far)
 Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumNO (T left, T right, T bottom, T top, T near, T far)
 Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH (T left, T right, T bottom, T top, T near, T far)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH (T left, T right, T bottom, T top, T near, T far)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustum (T left, T right, T bottom, T top, T near, T far)
 Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_ZO (T fovy, T aspect, T near, T far)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_NO (T fovy, T aspect, T near, T far)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_ZO (T fovy, T aspect, T near, T far)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_NO (T fovy, T aspect, T near, T far)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveZO (T fovy, T aspect, T near, T far)
 Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveNO (T fovy, T aspect, T near, T far)
 Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH (T fovy, T aspect, T near, T far)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH (T fovy, T aspect, T near, T far)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspective (T fovy, T aspect, T near, T far)
 Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_ZO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_NO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_ZO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_NO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovZO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovNO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH (T fov, T width, T height, T near, T far)
 Builds a right handed perspective projection matrix based on a field of view. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH (T fov, T width, T height, T near, T far)
 Builds a left handed perspective projection matrix based on a field of view. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFov (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveLH (T fovy, T aspect, T near)
 Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveRH (T fovy, T aspect, T near)
 Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspective (T fovy, T aspect, T near)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top)
 Creates a matrix for projecting two-dimensional coordinates onto the screen. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoLH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoLH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoRH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoRH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoNO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoLH (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoRH (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumLH_ZO (T left, T right, T bottom, T top, T nearVal, T farVal)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumLH_NO (T left, T right, T bottom, T top, T nearVal, T farVal)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumRH_ZO (T left, T right, T bottom, T top, T nearVal, T farVal)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumRH_NO (T left, T right, T bottom, T top, T nearVal, T farVal)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumZO (T left, T right, T bottom, T top, T nearVal, T farVal)
 Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumNO (T left, T right, T bottom, T top, T nearVal, T farVal)
 Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumLH (T left, T right, T bottom, T top, T nearVal, T farVal)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumRH (T left, T right, T bottom, T top, T nearVal, T farVal)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustum (T left, T right, T bottom, T top, T nearVal, T farVal)
 Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveRH_ZO (T fovy, T aspect, T zNear, T zFar)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveRH_NO (T fovy, T aspect, T zNear, T zFar)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveLH_ZO (T fovy, T aspect, T zNear, T zFar)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveLH_NO (T fovy, T aspect, T zNear, T zFar)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveZO (T fovy, T aspect, T zNear, T zFar)
 Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveNO (T fovy, T aspect, T zNear, T zFar)
 Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveLH (T fovy, T aspect, T zNear, T zFar)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveRH (T fovy, T aspect, T zNear, T zFar)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspective (T fovy, T aspect, T zNear, T zFar)
 Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovRH_ZO (T fov, T width, T height, T zNear, T zFar)
 Builds a perspective projection matrix based on a field of view using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovRH_NO (T fov, T width, T height, T zNear, T zFar)
 Builds a perspective projection matrix based on a field of view using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovLH_ZO (T fov, T width, T height, T zNear, T zFar)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovLH_NO (T fov, T width, T height, T zNear, T zFar)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovZO (T fov, T width, T height, T zNear, T zFar)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovNO (T fov, T width, T height, T zNear, T zFar)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovLH (T fov, T width, T height, T zNear, T zFar)
 Builds a left handed perspective projection matrix based on a field of view. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovRH (T fov, T width, T height, T zNear, T zFar)
 Builds a right handed perspective projection matrix based on a field of view. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFov (T fov, T width, T height, T zNear, T zFar)
 Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > infinitePerspectiveRH (T fovy, T aspect, T zNear)
 Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > infinitePerspectiveLH (T fovy, T aspect, T zNear)
 Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > infinitePerspective (T fovy, T aspect, T zNear)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T zNear, T ep)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T zNear)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. More...
 
template<length_t C, length_t R, typename T , typename U , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > mix (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, mat< C, R, U, Q > const &a)
 
template<length_t C, length_t R, typename T , typename U , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > mix (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, U a)
 
template<length_t C, length_t R, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > mix (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, U a)
 
template<length_t C, length_t R, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > mix (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, mat< C, R, U, Q > const &a)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > projectZO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > projectNO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > project (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates using default near and far clip planes definition. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProjectZO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProjectNO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProject (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates using default near and far clip planes definition. More...
 
template<typename T , qualifier Q, typename U >
GLM_FUNC_DECL mat< 4, 4, T, Q > pickMatrix (vec< 2, T, Q > const &center, vec< 2, T, Q > const &delta, vec< 4, U, Q > const &viewport)
 Define a picking region. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > projectZO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > projectNO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > project (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates using default near and far clip planes definition. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > unProjectZO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > unProjectNO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > unProject (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates using default near and far clip planes definition. More...
 
template<typename T , qualifier Q, typename U >
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > pickMatrix (vec< 2, T, Q > const &center, vec< 2, T, Q > const &delta, vec< 4, U, Q > const &viewport)
 Define a picking region. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Perform a component-wise equal-to comparison of two matrices. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Perform a component-wise not-equal-to comparison of two matrices. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b)
 Perform a component-wise equal-to comparison of two matrices. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, T Epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, vec< C, T, Q > const &Epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Perform a component-wise not-equal-to comparison of two matrices. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T Epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, vec< C, T, Q > const &Epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, int MaxULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, vec< C, int, Q > const &MaxULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int MaxULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, vec< C, int, Q > const &MaxULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType identity ()
 Builds an identity matrix.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > translate (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 Builds a translation 4 * 4 matrix created from a vector of 3 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate (mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &axis)
 Builds a rotation 4 * 4 matrix created from an axis vector and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scale (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 Builds a scale 4 * 4 matrix created from 3 scalars. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtRH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a right handed look at view matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtLH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a left handed look at view matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAt (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a look at view matrix based on the default handedness. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType identity ()
 Builds an identity matrix.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > translate (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 Builds a translation 4 * 4 matrix created from a vector of 3 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rotate (mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &v)
 Builds a rotation 4 * 4 matrix created from an axis vector and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rotate_slow (mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scale (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 Builds a scale 4 * 4 matrix created from 3 scalars. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scale_slow (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > lookAtRH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a right handed look at view matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > lookAtLH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a left handed look at view matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > lookAt (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a look at view matrix based on the default handedness. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > mix (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Spherical linear interpolation of two quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > lerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Linear interpolation of two quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > slerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Spherical linear interpolation of two quaternions. More...
 
template<typename T , typename S , qualifier Q>
GLM_FUNC_DECL qua< T, Q > slerp (qua< T, Q > const &x, qua< T, Q > const &y, T a, S k)
 Spherical linear interpolation of two quaternions with multiple spins over rotation axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > conjugate (qua< T, Q > const &q)
 Returns the q conjugate. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > inverse (qua< T, Q > const &q)
 Returns the q inverse. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isnan (qua< T, Q > const &x)
 Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isinf (qua< T, Q > const &x)
 Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > mix (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Spherical linear interpolation of two quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > lerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Linear interpolation of two quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > slerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Spherical linear interpolation of two quaternions. More...
 
template<typename T , typename S , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > slerp (qua< T, Q > const &x, qua< T, Q > const &y, T a, S k)
 Spherical linear interpolation of two quaternions with multiple spins over rotation axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > conjugate (qua< T, Q > const &q)
 Returns the q conjugate. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > inverse (qua< T, Q > const &q)
 Returns the q inverse. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > isnan (qua< T, Q > const &q)
 Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > isinf (qua< T, Q > const &q)
 Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > exp (qua< T, Q > const &q)
 Returns a exponential of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > log (qua< T, Q > const &q)
 Returns a logarithm of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > pow (qua< T, Q > const &q, T y)
 Returns a quaternion raised to a power. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > sqrt (qua< T, Q > const &q)
 Returns the square root of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > exp (qua< T, Q > const &q)
 Returns a exponential of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > log (qua< T, Q > const &q)
 Returns a logarithm of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > pow (qua< T, Q > const &x, T y)
 Returns a quaternion raised to a power. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > sqrt (qua< T, Q > const &x)
 Returns the square root of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T length (qua< T, Q > const &q)
 Returns the norm of a quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > normalize (qua< T, Q > const &q)
 Returns the normalized quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T dot (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ... More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > cross (qua< T, Q > const &q1, qua< T, Q > const &q2)
 Compute a cross product. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T dot (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ... More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T length (qua< T, Q > const &q)
 Returns the norm of a quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > normalize (qua< T, Q > const &q)
 Returns the normalized quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x == y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x != y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x == y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x != y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotate (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
 Rotates a quaternion from a vector of 3 components axis and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > rotate (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &v)
 Rotates a quaternion from a vector of 3 components axis and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T angle (qua< T, Q > const &x)
 Returns the quaternion rotation angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > axis (qua< T, Q > const &x)
 Returns the q rotation axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > angleAxis (T const &angle, vec< 3, T, Q > const &axis)
 Build a quaternion from an angle and a normalized axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T angle (qua< T, Q > const &x)
 Returns the quaternion rotation angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > axis (qua< T, Q > const &x)
 Returns the q rotation axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > angleAxis (T const &angle, vec< 3, T, Q > const &v)
 Build a quaternion from an angle and a normalized axis. More...
 
template<typename T >
GLM_FUNC_DECL T min (T a, T b, T c)
 Returns the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T a, T b, T c, T d)
 Returns the minimum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T a, T b, T c)
 Returns the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T a, T b, T c, T d)
 Returns the maximum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b)
 Returns the minimum component-wise values of 2 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b, T c)
 Returns the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b, T c, T d)
 Returns the minimum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b)
 Returns the maximum component-wise values of 2 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b, T C)
 Returns the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b, T C, T D)
 Returns the maximum component-wise values of 4 inputs. More...
 
template<typename genType >
GLM_FUNC_DECL genType fclamp (genType x, genType minVal, genType maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 Simulate GL_CLAMP OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 Simulate GL_REPEAT OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL genType mirrorClamp (genType const &Texcoord)
 Simulate GL_MIRRORED_REPEAT OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 Simulate GL_MIRROR_REPEAT OpenGL wrap mode. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T min (T a, T b, T c)
 Returns the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T min (T a, T b, T c, T d)
 Returns the minimum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T max (T a, T b, T c)
 Returns the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T max (T a, T b, T c, T d)
 Returns the maximum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T fmin (T a, T b)
 Returns the minimum component-wise values of 2 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T fmin (T a, T b, T c)
 Returns the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T fmin (T a, T b, T c, T d)
 Returns the minimum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T fmax (T a, T b)
 Returns the maximum component-wise values of 2 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T fmax (T a, T b, T c)
 Returns the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T fmax (T a, T b, T c, T d)
 Returns the maximum component-wise values of 4 inputs. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fclamp (genType x, genType minVal, genType maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType clamp (genType const &Texcoord)
 Simulate GL_CLAMP OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType repeat (genType const &Texcoord)
 Simulate GL_REPEAT OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType mirrorClamp (genType const &Texcoord)
 Simulate GL_MIRRORED_REPEAT OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType mirrorRepeat (genType const &Texcoord)
 Simulate GL_MIRROR_REPEAT OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon ()
 Return the epsilon constant for floating point types.
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType pi ()
 Return the pi constant for floating point types.
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType cos_one_over_two ()
 Return the value of cos(1 / 2) for floating point types.
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType epsilon ()
 Return the epsilon constant for floating point types.
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType pi ()
 Return the pi constant for floating point types.
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType cos_one_over_two ()
 Return the value of cos(1 / 2) for floating point types.
 
template<typename genIUType >
GLM_FUNC_DECL bool isPowerOfTwo (genIUType v)
 Return true if the value is a power of two number. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType nextPowerOfTwo (genIUType v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType prevPowerOfTwo (genIUType v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<typename genIUType >
GLM_FUNC_DECL bool isMultiple (genIUType v, genIUType Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType nextMultiple (genIUType v, genIUType Multiple)
 Higher multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType prevMultiple (genIUType v, genIUType Multiple)
 Lower multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL int findNSB (genIUType x, int significantBitCount)
 Returns the bit number of the Nth significant bit set to 1 in the binary representation of value. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER bool isPowerOfTwo (genIUType Value)
 Return true if the value is a power of two number. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType nextPowerOfTwo (genIUType value)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType prevPowerOfTwo (genIUType value)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER bool isMultiple (genIUType Value, genIUType Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType nextMultiple (genIUType Source, genIUType Multiple)
 Higher multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType prevMultiple (genIUType Source, genIUType Multiple)
 Lower multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int findNSB (genIUType x, int significantBitCount)
 Returns the bit number of the Nth significant bit set to 1 in the binary representation of value. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool equal (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool equal (genType const &x, genType const &y, int ULPs)
 Returns the component-wise comparison between two scalars in term of ULPs. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, int ULPs)
 Returns the component-wise comparison between two scalars in term of ULPs. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool equal (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool equal (genType const &x, genType const &y, int MaxULPs)
 Returns the component-wise comparison between two scalars in term of ULPs. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, int ULPs)
 Returns the component-wise comparison between two scalars in term of ULPs. More...
 
template<typename genType >
GLM_FUNC_DECL genType nextFloat (genType x)
 Return the next ULP value(s) after the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType prevFloat (genType x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType nextFloat (genType x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType prevFloat (genType x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
GLM_FUNC_DECL int floatDistance (float x, float y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
GLM_FUNC_DECL int64 floatDistance (double x, double y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<>
GLM_FUNC_QUALIFIER float nextFloat (float x)
 
template<>
GLM_FUNC_QUALIFIER double nextFloat (double x)
 
template<typename T >
GLM_FUNC_QUALIFIER T nextFloat (T x, int ULPs)
 
GLM_FUNC_QUALIFIER float prevFloat (float x)
 
GLM_FUNC_QUALIFIER double prevFloat (double x)
 
template<typename T >
GLM_FUNC_QUALIFIER T prevFloat (T x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Return the minimum component-wise values of 3 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Return the minimum component-wise values of 4 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &x, T y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, T b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fclamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fclamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > clamp (vec< L, T, Q > const &Texcoord)
 Simulate GL_CLAMP OpenGL wrap mode. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > repeat (vec< L, T, Q > const &Texcoord)
 Simulate GL_REPEAT OpenGL wrap mode. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mirrorClamp (vec< L, T, Q > const &Texcoord)
 Simulate GL_MIRRORED_REPEAT OpenGL wrap mode. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mirrorRepeat (vec< L, T, Q > const &Texcoord)
 Simulate GL_MIRROR_REPEAT OpenGL wrap mode. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmin (vec< L, T, Q > const &a, T b)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmax (vec< L, T, Q > const &a, T b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fclamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fclamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > clamp (vec< L, T, Q > const &Texcoord)
 Simulate GL_CLAMP OpenGL wrap mode. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > repeat (vec< L, T, Q > const &Texcoord)
 Simulate GL_REPEAT OpenGL wrap mode. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mirrorClamp (vec< L, T, Q > const &Texcoord)
 Simulate GL_MIRRORED_REPEAT OpenGL wrap mode. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mirrorRepeat (vec< L, T, Q > const &Texcoord)
 Simulate GL_MIRROR_REPEAT OpenGL wrap mode. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isPowerOfTwo (vec< L, T, Q > const &v)
 Return true if the value is a power of two number. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isMultiple (vec< L, T, Q > const &v, T Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextMultiple (vec< L, T, Q > const &v, T Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevMultiple (vec< L, T, Q > const &v, T Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findNSB (vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)
 Returns the bit number of the Nth significant bit set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isPowerOfTwo (vec< L, T, Q > const &Value)
 Return true if the value is a power of two number. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isMultiple (vec< L, T, Q > const &Value, T Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isMultiple (vec< L, T, Q > const &Value, vec< L, T, Q > const &Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextMultiple (vec< L, T, Q > const &Source, T Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevMultiple (vec< L, T, Q > const &Source, T Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > findNSB (vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)
 Returns the bit number of the Nth significant bit set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T Epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &Epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T Epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &Epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int MaxULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &MaxULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int MaxULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &MaxULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextFloat (vec< L, T, Q > const &x)
 Return the next ULP value(s) after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevFloat (vec< L, T, Q > const &x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > floatDistance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int64, Q > floatDistance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextFloat (vec< L, T, Q > const &x)
 Return the next ULP value(s) after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevFloat (vec< L, T, Q > const &x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > floatDistance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int64, Q > floatDistance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T length (vec< L, T, Q > const &x)
 Returns the length of x, i.e., sqrt(x * x). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T distance (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T dot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the dot product of x and y, i.e., result = x * y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the cross product of x and y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > normalize (vec< L, T, Q > const &x)
 Returns a vector in the same direction as x but with length of 1. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > faceforward (vec< L, T, Q > const &N, vec< L, T, Q > const &I, vec< L, T, Q > const &Nref)
 If dot(Nref, I) < 0.0, return N, otherwise, return -N. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > reflect (vec< L, T, Q > const &I, vec< L, T, Q > const &N)
 For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > refract (vec< L, T, Q > const &I, vec< L, T, Q > const &N, T eta)
 For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mask (genIUType Bits)
 Build a mask of 'count' bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mask (vec< L, T, Q > const &v)
 Build a mask of 'count' bits. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift)
 Rotate all bits to the right. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateRight (vec< L, T, Q > const &In, int Shift)
 Rotate all bits to the right. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift)
 Rotate all bits to the left. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateLeft (vec< L, T, Q > const &In, int Shift)
 Rotate all bits to the left. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillOne (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillZero (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint16 bitfieldInterleave (u8vec2 const &v)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL glm::u8vec2 bitfieldDeinterleave (glm::uint16 x)
 Deinterleaves the bits of x. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (u16vec2 const &v)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL glm::u16vec2 bitfieldDeinterleave (glm::uint32 x)
 Deinterleaves the bits of x. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (u32vec2 const &v)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL glm::u32vec2 bitfieldDeinterleave (glm::uint64 x)
 Deinterleaves the bits of x. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 Interleaves the bits of x, y, z and w. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType mask (genIUType Bits)
 Build a mask of 'count' bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mask (vec< L, T, Q > const &v)
 Build a mask of 'count' bits. More...
 
template<typename genIType >
GLM_FUNC_QUALIFIER genIType bitfieldRotateRight (genIType In, int Shift)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldRotateRight (vec< L, T, Q > const &In, int Shift)
 Rotate all bits to the right. More...
 
template<typename genIType >
GLM_FUNC_QUALIFIER genIType bitfieldRotateLeft (genIType In, int Shift)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldRotateLeft (vec< L, T, Q > const &In, int Shift)
 Rotate all bits to the left. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldFillOne (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldFillZero (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
GLM_FUNC_QUALIFIER uint32 bitfieldInterleave (u8vec3 const &v)
 
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (u16vec3 const &v)
 
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (u32vec3 const &v)
 
GLM_FUNC_QUALIFIER uint32 bitfieldInterleave (u8vec4 const &v)
 
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (u16vec4 const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear)
 Convert a linear color to sRGB color using a standard gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear, T Gamma)
 Convert a linear color to sRGB color using a custom gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB)
 Convert a sRGB color to linear color using a standard gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB, T Gamma)
 Convert a sRGB color to linear color using a custom gamma correction.
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear)
 Convert a linear color to sRGB color using a standard gamma correction. More...
 
template<>
GLM_FUNC_QUALIFIER vec< 3, float, lowpconvertLinearToSRGB (vec< 3, float, lowp > const &ColorLinear)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear, T Gamma)
 Convert a linear color to sRGB color using a custom gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB)
 Convert a sRGB color to linear color using a standard gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB, T Gamma)
 Convert a sRGB color to linear color using a custom gamma correction.
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType zero ()
 Return 0. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one ()
 Return 1. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi ()
 Return pi * 2. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi ()
 Return square root of pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi ()
 Return pi / 2. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi ()
 Return pi / 2 * 3. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi ()
 Return pi / 4. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi ()
 Return 1 / pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi ()
 Return 1 / (pi * 2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi ()
 Return 2 / pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi ()
 Return 4 / pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi ()
 Return 2 / sqrt(pi). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two ()
 Return 1 / sqrt(2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi ()
 Return sqrt(pi / 2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi ()
 Return sqrt(2 * pi). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four ()
 Return sqrt(ln(4)). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType e ()
 Return e constant. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType euler ()
 Return Euler's constant. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two ()
 Return sqrt(2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_three ()
 Return sqrt(3). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_five ()
 Return sqrt(5). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two ()
 Return ln(2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten ()
 Return ln(10). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two ()
 Return ln(ln(2)). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType third ()
 Return 1 / 3. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds ()
 Return 2 / 3. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio ()
 Return the golden ratio constant. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType zero ()
 Return 0. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one ()
 Return 1. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_pi ()
 Return pi * 2. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_pi ()
 Return square root of pi. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType half_pi ()
 Return pi / 2. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType three_over_two_pi ()
 Return pi / 2 * 3. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType quarter_pi ()
 Return pi / 4. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_pi ()
 Return 1 / pi. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_two_pi ()
 Return 1 / (pi * 2). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_pi ()
 Return 2 / pi. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType four_over_pi ()
 Return 4 / pi. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_root_pi ()
 Return 2 / sqrt(pi). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_root_two ()
 Return 1 / sqrt(2). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_half_pi ()
 Return sqrt(pi / 2). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two_pi ()
 Return sqrt(2 * pi). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_ln_four ()
 Return sqrt(ln(4)). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType e ()
 Return e constant. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType euler ()
 Return Euler's constant. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two ()
 Return sqrt(2). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_three ()
 Return sqrt(3). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_five ()
 Return sqrt(5). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_two ()
 Return ln(2). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ten ()
 Return ln(10). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ln_two ()
 Return ln(ln(2)). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType third ()
 Return 1 / 3. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_thirds ()
 Return 2 / 3. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType golden_ratio ()
 Return the golden ratio constant. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > epsilonEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > epsilonNotEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<>
GLM_FUNC_QUALIFIER bool epsilonEqual (float const &x, float const &y, float const &epsilon)
 
template<>
GLM_FUNC_QUALIFIER bool epsilonEqual (double const &x, double const &y, double const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > epsilonEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > epsilonEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 
template<>
GLM_FUNC_QUALIFIER bool epsilonNotEqual (float const &x, float const &y, float const &epsilon)
 
template<>
GLM_FUNC_QUALIFIER bool epsilonNotEqual (double const &x, double const &y, double const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > epsilonNotEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > epsilonNotEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > epsilonEqual (qua< T, Q > const &x, qua< T, Q > const &y, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > epsilonNotEqual (qua< T, Q > const &x, qua< T, Q > const &y, T const &epsilon)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 Returns the log2 of x for integer values. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > iround (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > uround (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER int iround (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > iround (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER uint uround (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint, Q > uround (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<typename genType >
GLM_FUNC_DECL genType::row_type row (genType const &m, length_t index)
 Get a specific row of a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType row (genType const &m, length_t index, typename genType::row_type const &x)
 Set a specific row to a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType::col_type column (genType const &m, length_t index)
 Get a specific column of a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType column (genType const &m, length_t index, typename genType::col_type const &x)
 Set a specific column to a matrix. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType row (genType const &m, length_t index, typename genType::row_type const &x)
 Set a specific row to a matrix. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType::row_type row (genType const &m, length_t index)
 Get a specific row of a matrix. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType column (genType const &m, length_t index, typename genType::col_type const &x)
 Set a specific column to a matrix. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType::col_type column (genType const &m, length_t index)
 Get a specific column of a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType affineInverse (genType const &m)
 Fast matrix inverse for affine matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType inverseTranspose (genType const &m)
 Compute the inverse transpose of a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > affineInverse (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > affineInverse (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > inverseTranspose (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > inverseTranspose (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > inverseTranspose (mat< 4, 4, T, Q > const &m)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T perlin (vec< L, T, Q > const &p)
 Classic perlin noise. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T perlin (vec< L, T, Q > const &p, vec< L, T, Q > const &rep)
 Periodic perlin noise. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T simplex (vec< L, T, Q > const &p)
 Simplex noise. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 2, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 3, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 4, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 2, T, Q > const &Position, vec< 2, T, Q > const &rep)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 3, T, Q > const &Position, vec< 3, T, Q > const &rep)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 4, T, Q > const &Position, vec< 4, T, Q > const &rep)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T simplex (glm::vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T simplex (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T simplex (vec< 4, T, Q > const &v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float v)
 First, converts the normalized floating-point value v into a 8-bit integer value. More...
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 p)
 Convert a single 8-bit integer to a normalized floating-point value. More...
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8-bit integer values. More...
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers. More...
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float s)
 First, converts the normalized floating-point value v into 8-bit integer value. More...
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 p)
 First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers. More...
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8-bit integer values. More...
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers. More...
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float v)
 First, converts the normalized floating-point value v into a 16-bit integer value. More...
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers. More...
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 16-bit integer values. More...
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 p)
 First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers. More...
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float v)
 First, converts the normalized floating-point value v into 16-bit integer value. More...
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers. More...
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 16-bit integer values. More...
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 p)
 First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers. More...
 
GLM_FUNC_DECL uint16 packHalf1x16 (float v)
 Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 16-bit floating-point representation found in the OpenGL Specification, and then packing this 16-bit value into a 16-bit unsigned integer. More...
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 v)
 Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, interpreted as a 16-bit floating-point number according to the OpenGL Specification, and converting it to 32-bit floating-point values. More...
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 Returns an unsigned integer obtained by converting the components of a four-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these four 16-bit values into a 64-bit unsigned integer. More...
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 p)
 Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values. More...
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 Returns an unsigned integer obtained by converting the components of a four-component signed integer vector to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer. More...
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 p)
 Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers. More...
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer. More...
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 p)
 Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers. More...
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values. More...
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. More...
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values. More...
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. More...
 
GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. More...
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . More...
 
GLM_FUNC_DECL uint32 packF3x9_E1x5 (vec3 const &v)
 First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. More...
 
GLM_FUNC_DECL vec3 unpackF3x9_E1x5 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > packRGBM (vec< 3, T, Q > const &rgb)
 Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unpackRGBM (vec< 4, T, Q > const &rgbm)
 Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint16, Q > packHalf (vec< L, float, Q > const &v)
 Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > unpackHalf (vec< L, uint16, Q > const &p)
 Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. More...
 
template<typename uintType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, uintType, Q > packUnorm (vec< L, floatType, Q > const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
template<typename floatType , length_t L, typename uintType , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > unpackUnorm (vec< L, uintType, Q > const &v)
 Convert a packed integer to a normalized floating-point vector. More...
 
template<typename intType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, intType, Q > packSnorm (vec< L, floatType, Q > const &v)
 Convert each component of the normalized floating-point vector into signed integer values. More...
 
template<typename floatType , length_t L, typename intType , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > unpackSnorm (vec< L, intType, Q > const &v)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL uint8 packUnorm2x4 (vec2 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL vec2 unpackUnorm2x4 (uint8 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL uint16 packUnorm4x4 (vec4 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL vec4 unpackUnorm4x4 (uint16 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL uint16 packUnorm1x5_1x6_1x5 (vec3 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL vec3 unpackUnorm1x5_1x6_1x5 (uint16 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL uint16 packUnorm3x5_1x1 (vec4 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL vec4 unpackUnorm3x5_1x1 (uint16 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL uint8 packUnorm2x3_1x2 (vec3 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL vec3 unpackUnorm2x3_1x2 (uint8 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL int16 packInt2x8 (i8vec2 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL i8vec2 unpackInt2x8 (int16 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL uint16 packUint2x8 (u8vec2 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL u8vec2 unpackUint2x8 (uint16 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL int32 packInt4x8 (i8vec4 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL i8vec4 unpackInt4x8 (int32 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL uint32 packUint4x8 (u8vec4 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL u8vec4 unpackUint4x8 (uint32 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL int packInt2x16 (i16vec2 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL i16vec2 unpackInt2x16 (int p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL int64 packInt4x16 (i16vec4 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL i16vec4 unpackInt4x16 (int64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL uint packUint2x16 (u16vec2 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL u16vec2 unpackUint2x16 (uint p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL uint64 packUint4x16 (u16vec4 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL u16vec4 unpackUint4x16 (uint64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL int64 packInt2x32 (i32vec2 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL i32vec2 unpackInt2x32 (int64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL uint64 packUint2x32 (u32vec2 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL u32vec2 unpackUint2x32 (uint64 p)
 Convert a packed integer into an integer vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > packRGBM (vec< 3, T, Q > const &rgb)
 Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > unpackRGBM (vec< 4, T, Q > const &rgbm)
 Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint16, Q > packHalf (vec< L, float, Q > const &v)
 Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > unpackHalf (vec< L, uint16, Q > const &v)
 Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. More...
 
template<typename uintType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uintType, Q > packUnorm (vec< L, floatType, Q > const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
template<typename floatType , length_t L, typename uintType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, floatType, Q > unpackUnorm (vec< L, uintType, Q > const &v)
 Convert a packed integer to a normalized floating-point vector. More...
 
template<typename intType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, intType, Q > packSnorm (vec< L, floatType, Q > const &v)
 Convert each component of the normalized floating-point vector into signed integer values. More...
 
template<typename floatType , length_t L, typename intType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, floatType, Q > unpackSnorm (vec< L, intType, Q > const &v)
 Convert a packed integer to a normalized floating-point vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > eulerAngles (qua< T, Q > const &x)
 Returns euler angles, pitch as x, yaw as y, roll as z. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T roll (qua< T, Q > const &x)
 Returns roll value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T pitch (qua< T, Q > const &x)
 Returns pitch value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T yaw (qua< T, Q > const &x)
 Returns yaw value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > mat3_cast (qua< T, Q > const &x)
 Converts a quaternion to a 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > mat4_cast (qua< T, Q > const &x)
 Converts a quaternion to a 4 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_cast (mat< 3, 3, T, Q > const &x)
 Converts a pure rotation 3 * 3 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_cast (mat< 4, 4, T, Q > const &x)
 Converts a pure rotation 4 * 4 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > lessThan (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison result of x < y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > lessThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x <= y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > greaterThan (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x > y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > greaterThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x >= y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAt (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a look at quaternion based on the default handedness. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAtRH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a right-handed look at quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAtLH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a left-handed look at quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > eulerAngles (qua< T, Q > const &x)
 Returns euler angles, pitch as x, yaw as y, roll as z. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T roll (qua< T, Q > const &q)
 Returns roll value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T pitch (qua< T, Q > const &q)
 Returns pitch value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T yaw (qua< T, Q > const &q)
 Returns yaw value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > mat3_cast (qua< T, Q > const &q)
 Converts a quaternion to a 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > mat4_cast (qua< T, Q > const &q)
 Converts a quaternion to a 4 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quat_cast (mat< 3, 3, T, Q > const &m)
 Converts a pure rotation 3 * 3 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quat_cast (mat< 4, 4, T, Q > const &m4)
 Converts a pure rotation 4 * 4 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > lessThan (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison result of x < y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > lessThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x <= y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > greaterThan (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x > y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > greaterThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x >= y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quatLookAt (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a look at quaternion based on the default handedness. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quatLookAtRH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a right-handed look at quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quatLookAtLH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a left-handed look at quaternion. More...
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType Min, genType Max)
 Generate random numbers in the interval [Min, Max], according a linear distribution. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > linearRand (vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Generate random numbers in the interval [Min, Max], according a linear distribution. More...
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType Mean, genType Deviation)
 Generate random numbers in the interval [Min, Max], according a gaussian distribution. More...
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > circularRand (T Radius)
 Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius. More...
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > sphericalRand (T Radius)
 Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius. More...
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > diskRand (T Radius)
 Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius. More...
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > ballRand (T Radius)
 Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType linearRand (genType Min, genType Max)
 Generate random numbers in the interval [Min, Max], according a linear distribution. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > linearRand (vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Generate random numbers in the interval [Min, Max], according a linear distribution. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType gaussRand (genType Mean, genType Deviation)
 Generate random numbers in the interval [Min, Max], according a gaussian distribution. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > gaussRand (vec< L, T, Q > const &Mean, vec< L, T, Q > const &Deviation)
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 2, T, defaultp > diskRand (T Radius)
 Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius. More...
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 3, T, defaultp > ballRand (T Radius)
 Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius. More...
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 2, T, defaultp > circularRand (T Radius)
 Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius. More...
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 3, T, defaultp > sphericalRand (T Radius)
 Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius. More...
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType angle)
 Secant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType angle)
 Cosecant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType angle)
 Cotangent function. More...
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType x)
 Inverse secant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType x)
 Inverse cosecant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acot (genType x)
 Inverse cotangent function. More...
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType angle)
 Secant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType angle)
 Cosecant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType angle)
 Cotangent hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType x)
 Inverse secant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType x)
 Inverse cosecant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType x)
 Inverse cotangent hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sec (genType angle)
 Secant function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sec (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType csc (genType angle)
 Cosecant function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > csc (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cot (genType angle)
 Cotangent function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > cot (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType asec (genType x)
 Inverse secant function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > asec (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acsc (genType x)
 Inverse cosecant function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acsc (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acot (genType x)
 Inverse cotangent function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acot (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sech (genType angle)
 Secant hyperbolic function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sech (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType csch (genType angle)
 Cosecant hyperbolic function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > csch (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType coth (genType angle)
 Cotangent hyperbolic function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > coth (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType asech (genType x)
 Inverse secant hyperbolic function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > asech (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acsch (genType x)
 Inverse cosecant hyperbolic function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acsch (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acoth (genType x)
 Inverse cotangent hyperbolic function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acoth (vec< L, T, Q > const &x)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType ceilPowerOfTwo (genIUType v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceilPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType floorPowerOfTwo (genIUType v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floorPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType roundPowerOfTwo (genIUType v)
 Return the power of two number which value is the closet to the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is the closet to the input value. More...
 
template<typename genType >
GLM_FUNC_DECL genType ceilMultiple (genType v, genType Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceilMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Higher multiple number of Source. More...
 
template<typename genType >
GLM_FUNC_DECL genType floorMultiple (genType v, genType Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floorMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<typename genType >
GLM_FUNC_DECL genType roundMultiple (genType v, genType Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ceilPowerOfTwo (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > ceilPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType floorPowerOfTwo (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > floorPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType roundPowerOfTwo (genIUType value)
 Return the power of two number which value is the closet to the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > roundPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is the closet to the input value. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ceilMultiple (genType Source, genType Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > ceilMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 Higher multiple number of Source. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType floorMultiple (genType Source, genType Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > floorMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType roundMultiple (genType Source, genType Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > roundMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type const * value_ptr (genType const &v)
 Return the constant address to the data of the input parameter. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > make_vec2 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > make_vec3 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL vec< 4, T, defaultp > make_vec4 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 3, T, defaultp > make_mat2x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 4, T, defaultp > make_mat2x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 2, T, defaultp > make_mat3x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 4, T, defaultp > make_mat3x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 2, T, defaultp > make_mat4x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 3, T, defaultp > make_mat4x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL qua< T, defaultp > make_quat (T const *const ptr)
 Build a quaternion from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 2, 2, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 3, 3, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 4, 4, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 2, 3, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 3, 2, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 2, 4, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 4, 2, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 3, 4, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 4, 3, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (qua< T, Q > &q)
 
template<typename T , qualifier Q>
vec< 1, T, Q > make_vec1 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 1, T, Q > make_vec1 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 1, T, Q > make_vec1 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 1, T, Q > make_vec1 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 2, T, Q > make_vec2 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 2, T, Q > make_vec2 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 2, T, Q > make_vec2 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 2, T, Q > make_vec2 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 3, T, Q > make_vec3 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 3, T, Q > make_vec3 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 3, T, Q > make_vec3 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 3, T, Q > make_vec3 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 4, T, Q > make_vec4 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 4, T, Q > make_vec4 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 4, T, Q > make_vec4 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
vec< 4, T, Q > make_vec4 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 2, T, defaultp > make_vec2 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 3, T, defaultp > make_vec3 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 4, T, defaultp > make_vec4 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 2, T, defaultp > make_mat2x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 3, T, defaultp > make_mat2x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 4, T, defaultp > make_mat2x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 2, T, defaultp > make_mat3x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 3, T, defaultp > make_mat3x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 4, T, defaultp > make_mat3x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 2, T, defaultp > make_mat4x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 3, T, defaultp > make_mat4x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > make_mat4x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 2, T, defaultp > make_mat2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 3, T, defaultp > make_mat3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > make_mat4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_QUALIFIER qua< T, defaultp > make_quat (T const *const ptr)
 Build a quaternion from a pointer. More...
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType x)
 Return the next ULP value(s) after the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
GLM_FUNC_DECL int float_distance (float x, float y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
GLM_FUNC_DECL int64 float_distance (double x, double y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > next_float (vec< L, T, Q > const &x)
 Return the next ULP value(s) after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > next_float (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > next_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prev_float (vec< L, T, Q > const &x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prev_float (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prev_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > float_distance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int64, Q > float_distance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<>
GLM_FUNC_QUALIFIER float next_float (float x)
 
template<>
GLM_FUNC_QUALIFIER double next_float (double x)
 
template<typename T >
GLM_FUNC_QUALIFIER T next_float (T x, int ULPs)
 
GLM_FUNC_QUALIFIER float prev_float (float x)
 
GLM_FUNC_QUALIFIER double prev_float (double x)
 
template<typename T >
GLM_FUNC_QUALIFIER T prev_float (T x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > next_float (vec< L, T, Q > const &x)
 Return the next ULP value(s) after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > next_float (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > next_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prev_float (vec< L, T, Q > const &x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prev_float (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prev_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > float_distance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int64, Q > float_distance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 2, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (T x, const vec< L, U, Q > &a, T y, const vec< L, U, Q > &b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c)
 Minimum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 Minimum comparison between 3 variables and returns 3 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 2, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER U associatedMin (T x, U a, T y, U b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (T x, const vec< L, U, Q > &a, T y, const vec< L, U, Q > &b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMin (T x, U a, T y, U b, T z, U c)
 Minimum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 Minimum comparison between 3 variables and returns 3 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMax (T x, U a, T y, U b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMax (T x, U a, T y, U b, T z, U c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType highestBitValue (genIUType Value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType lowestBitValue (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > highestBitValue (vec< L, T, Q > const &value)
 Find the highest bit set to 1 in a integer variable and return its value. More...
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove (genIUType Value)
 Return the power of two number which value is just higher the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoAbove (vec< L, T, Q > const &value)
 Return the power of two number which value is just higher the input value. More...
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow (genIUType Value)
 Return the power of two number which value is just lower the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoBelow (vec< L, T, Q > const &value)
 Return the power of two number which value is just lower the input value. More...
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest (genIUType Value)
 Return the power of two number which value is the closet to the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoNearest (vec< L, T, Q > const &value)
 Return the power of two number which value is the closet to the input value. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType highestBitValue (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > highestBitValue (vec< L, T, Q > const &v)
 Find the highest bit set to 1 in a integer variable and return its value. More...
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType lowestBitValue (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > lowestBitValue (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType powerOfTwoAbove (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > powerOfTwoAbove (vec< L, T, Q > const &v)
 Return the power of two number which value is just higher the input value. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType powerOfTwoBelow (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > powerOfTwoBelow (vec< L, T, Q > const &v)
 Return the power of two number which value is just lower the input value. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType powerOfTwoNearest (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > powerOfTwoNearest (vec< L, T, Q > const &v)
 Return the power of two number which value is the closet to the input value. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > closestPointOnLine (vec< 3, T, Q > const &point, vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 Find the point on a straight line which is the closet of a point. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > closestPointOnLine (vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)
 2d lines work as well
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > closestPointOnLine (vec< 3, T, Q > const &point, vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 Find the point on a straight line which is the closet of a point. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > closestPointOnLine (vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)
 2d lines work as well
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD65XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D65 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD50XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToLinearSRGB (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to linear sRGB.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToD50XYZ (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > convertLinearSRGBToD65XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D65 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > convertLinearSRGBToD50XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > convertD65XYZToLinearSRGB (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to linear sRGB.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > convertD65XYZToD50XYZ (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgbColor (vec< 3, T, Q > const &hsvValue)
 Converts a color from HSV color space to its color in RGB color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > hsvColor (vec< 3, T, Q > const &rgbValue)
 Converts a color from RGB color space to its color in HSV color space. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > saturation (T const s)
 Build a saturation matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > saturation (T const s, vec< 3, T, Q > const &color)
 Modify the saturation of a color. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > saturation (T const s, vec< 4, T, Q > const &color)
 Modify the saturation of a color. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T luminosity (vec< 3, T, Q > const &color)
 Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rgbColor (const vec< 3, T, Q > &hsvColor)
 Converts a color from HSV color space to its color in RGB color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > hsvColor (const vec< 3, T, Q > &rgbColor)
 Converts a color from RGB color space to its color in HSV color space. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > saturation (T const s)
 Build a saturation matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > saturation (const T s, const vec< 3, T, Q > &color)
 Modify the saturation of a color. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > saturation (const T s, const vec< 4, T, Q > &color)
 Modify the saturation of a color. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T luminosity (const vec< 3, T, Q > &color)
 Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCg (vec< 3, T, Q > const &rgbColor)
 Convert a color from RGB color space to YCoCg color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > YCoCg2rgb (vec< 3, T, Q > const &YCoCgColor)
 Convert a color from YCoCg color space to RGB color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCgR (vec< 3, T, Q > const &rgbColor)
 Convert a color from RGB color space to YCoCgR color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > YCoCgR2rgb (vec< 3, T, Q > const &YCoCgColor)
 Convert a color from YCoCgR color space to RGB color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rgb2YCoCg (vec< 3, T, Q > const &rgbColor)
 Convert a color from RGB color space to YCoCg color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > YCoCg2rgb (vec< 3, T, Q > const &YCoCgColor)
 Convert a color from YCoCg color space to RGB color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rgb2YCoCgR (vec< 3, T, Q > const &rgbColor)
 Convert a color from RGB color space to YCoCgR color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > YCoCgR2rgb (vec< 3, T, Q > const &YCoCgRColor)
 Convert a color from YCoCgR color space to RGB color space. More...
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 Returns true if x is a denormalized number Numbers whose absolute value is too small to be represented in the normal format are represented in an alternate, denormalized format. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmod (vec< L, T, Q > const &v)
 Similar to 'mod' but with a different rounding and integer support. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > openBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Returns whether vector components values are within an interval. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > closeBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Returns whether vector components values are within an interval. More...
 
template<typename T >
GLM_FUNC_QUALIFIER bool isdenormal (T const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 1, T, Q >::bool_type isdenormal (vec< 1, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q >::bool_type isdenormal (vec< 2, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q >::bool_type isdenormal (vec< 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q >::bool_type isdenormal (vec< 4, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fmod (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmod (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmod (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > openBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Returns whether vector components values are within an interval. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > closeBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Returns whether vector components values are within an interval. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, const vec< 2, T, Q > &a)
 Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, const vec< 3, T, Q > &a)
 Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &a)
 Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T saturate (T x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > saturate (const vec< 2, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > saturate (const vec< 3, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > saturate (const vec< 4, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > atan2 (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > atan2 (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > atan2 (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename genType >
GLM_FUNC_DECL bool isfinite (genType const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, bool, Q > isfinite (const vec< 1, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, bool, Q > isfinite (const vec< 2, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, bool, Q > isfinite (const vec< 3, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isfinite (const vec< 4, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isfinite (genType const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 1, bool, Q > isfinite (vec< 1, T, Q > const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, bool, Q > isfinite (vec< 2, T, Q > const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, bool, Q > isfinite (vec< 3, T, Q > const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > isfinite (vec< 4, T, Q > const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename floatType , length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > compNormalize (vec< L, T, Q > const &v)
 Convert an integer vector to a normalized float vector. More...
 
template<length_t L, typename T , typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > compScale (vec< L, floatType, Q > const &v)
 Convert a normalized float vector to an integer vector. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compAdd (genType const &v)
 Add all vector components together. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMul (genType const &v)
 Multiply all vector components together. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMin (genType const &v)
 Find the minimum value between single vector components. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMax (genType const &v)
 Find the maximum value between single vector components. More...
 
template<typename floatType , length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, floatType, Q > compNormalize (vec< L, T, Q > const &v)
 Convert an integer vector to a normalized float vector. More...
 
template<typename T , length_t L, typename floatType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > compScale (vec< L, floatType, Q > const &v)
 Convert a normalized float vector to an integer vector. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T compAdd (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T compMul (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T compMin (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T compMax (vec< L, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator+ (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator- (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator+ (tdualquat< T, Q > const &q, tdualquat< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator* (tdualquat< T, Q > const &q, tdualquat< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > operator* (tdualquat< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > operator* (tdualquat< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator* (tdualquat< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator* (T const &s, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator/ (tdualquat< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (tdualquat< T, Q > const &q1, tdualquat< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (tdualquat< T, Q > const &q1, tdualquat< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dual_quat_identity ()
 Creates an identity dual quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > normalize (tdualquat< T, Q > const &q)
 Returns the normalized quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > lerp (tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)
 Returns the linear interpolation of two dual quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > inverse (tdualquat< T, Q > const &q)
 Returns the q inverse. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > mat2x4_cast (tdualquat< T, Q > const &x)
 Converts a quaternion to a 2 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > mat3x4_cast (tdualquat< T, Q > const &x)
 Converts a quaternion to a 3 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast (mat< 2, 4, T, Q > const &x)
 Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast (mat< 3, 4, T, Q > const &x)
 Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator+ (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator- (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator+ (tdualquat< T, Q > const &q, tdualquat< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator* (tdualquat< T, Q > const &p, tdualquat< T, Q > const &o)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > operator* (tdualquat< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > operator* (tdualquat< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator* (tdualquat< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator* (T const &s, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator/ (tdualquat< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (tdualquat< T, Q > const &q1, tdualquat< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (tdualquat< T, Q > const &q1, tdualquat< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > dual_quat_identity ()
 Creates an identity dual quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > normalize (tdualquat< T, Q > const &q)
 Returns the normalized quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > lerp (tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)
 Returns the linear interpolation of two dual quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > inverse (tdualquat< T, Q > const &q)
 Returns the q inverse. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > mat2x4_cast (tdualquat< T, Q > const &x)
 Converts a quaternion to a 2 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > mat3x4_cast (tdualquat< T, Q > const &x)
 Converts a quaternion to a 3 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > dualquat_cast (mat< 2, 4, T, Q > const &x)
 Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > dualquat_cast (mat< 3, 4, T, Q > const &x)
 Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. More...
 
template<typename genType >
GLM_FUNC_DECL genType linearInterpolation (genType const &a)
 Modelled after the line y = x. More...
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseIn (genType const &a)
 Modelled after the parabola y = x^2. More...
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseOut (genType const &a)
 Modelled after the parabola y = -x^2 + 2x. More...
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseInOut (genType const &a)
 Modelled after the piecewise quadratic y = (1/2)((2x)^2) ; [0, 0.5) y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseIn (genType const &a)
 Modelled after the cubic y = x^3.
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseOut (genType const &a)
 Modelled after the cubic y = (x - 1)^3 + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseInOut (genType const &a)
 Modelled after the piecewise cubic y = (1/2)((2x)^3) ; [0, 0.5) y = (1/2)((2x-2)^3 + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseIn (genType const &a)
 Modelled after the quartic x^4. More...
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseOut (genType const &a)
 Modelled after the quartic y = 1 - (x - 1)^4. More...
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseInOut (genType const &a)
 Modelled after the piecewise quartic y = (1/2)((2x)^4) ; [0, 0.5) y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseIn (genType const &a)
 Modelled after the quintic y = x^5. More...
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseOut (genType const &a)
 Modelled after the quintic y = (x - 1)^5 + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseInOut (genType const &a)
 Modelled after the piecewise quintic y = (1/2)((2x)^5) ; [0, 0.5) y = (1/2)((2x-2)^5 + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseIn (genType const &a)
 Modelled after quarter-cycle of sine wave. More...
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseOut (genType const &a)
 Modelled after quarter-cycle of sine wave (different phase) More...
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseInOut (genType const &a)
 Modelled after half sine wave. More...
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseIn (genType const &a)
 Modelled after shifted quadrant IV of unit circle. More...
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseOut (genType const &a)
 Modelled after shifted quadrant II of unit circle. More...
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseInOut (genType const &a)
 Modelled after the piecewise circular function y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseIn (genType const &a)
 Modelled after the exponential function y = 2^(10(x - 1)) More...
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseOut (genType const &a)
 Modelled after the exponential function y = -2^(-10x) + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseInOut (genType const &a)
 Modelled after the piecewise exponential y = (1/2)2^(10(2x - 1)) ; [0,0.5) y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseIn (genType const &a)
 Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1)) More...
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseOut (genType const &a)
 Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseInOut (genType const &a)
 Modelled after the piecewise exponentially-damped sine wave: y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType backEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseIn (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseInOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType linearInterpolation (genType const &a)
 Modelled after the line y = x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quadraticEaseIn (genType const &a)
 Modelled after the parabola y = x^2. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quadraticEaseOut (genType const &a)
 Modelled after the parabola y = -x^2 + 2x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quadraticEaseInOut (genType const &a)
 Modelled after the piecewise quadratic y = (1/2)((2x)^2) ; [0, 0.5) y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cubicEaseIn (genType const &a)
 Modelled after the cubic y = x^3.
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cubicEaseOut (genType const &a)
 Modelled after the cubic y = (x - 1)^3 + 1. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cubicEaseInOut (genType const &a)
 Modelled after the piecewise cubic y = (1/2)((2x)^3) ; [0, 0.5) y = (1/2)((2x-2)^3 + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quarticEaseIn (genType const &a)
 Modelled after the quartic x^4. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quarticEaseOut (genType const &a)
 Modelled after the quartic y = 1 - (x - 1)^4. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quarticEaseInOut (genType const &a)
 Modelled after the piecewise quartic y = (1/2)((2x)^4) ; [0, 0.5) y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quinticEaseIn (genType const &a)
 Modelled after the quintic y = x^5. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quinticEaseOut (genType const &a)
 Modelled after the quintic y = (x - 1)^5 + 1. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quinticEaseInOut (genType const &a)
 Modelled after the piecewise quintic y = (1/2)((2x)^5) ; [0, 0.5) y = (1/2)((2x-2)^5 + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sineEaseIn (genType const &a)
 Modelled after quarter-cycle of sine wave. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sineEaseOut (genType const &a)
 Modelled after quarter-cycle of sine wave (different phase) More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sineEaseInOut (genType const &a)
 Modelled after half sine wave. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType circularEaseIn (genType const &a)
 Modelled after shifted quadrant IV of unit circle. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType circularEaseOut (genType const &a)
 Modelled after shifted quadrant II of unit circle. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType circularEaseInOut (genType const &a)
 Modelled after the piecewise circular function y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType exponentialEaseIn (genType const &a)
 Modelled after the exponential function y = 2^(10(x - 1)) More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType exponentialEaseOut (genType const &a)
 Modelled after the exponential function y = -2^(-10x) + 1. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType exponentialEaseInOut (genType const &a)
 Modelled after the piecewise exponential y = (1/2)2^(10(2x - 1)) ; [0,0.5) y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1]. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType elasticEaseIn (genType const &a)
 Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1)) More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType elasticEaseOut (genType const &a)
 Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType elasticEaseInOut (genType const &a)
 Modelled after the piecewise exponentially-damped sine wave: y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseIn (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseInOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType bounceEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType bounceEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType bounceEaseInOut (genType const &a)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleX (T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleY (T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZ (T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleX (T const &angleX, T const &angularVelocityX)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleY (T const &angleY, T const &angularVelocityY)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleZ (T const &angleZ, T const &angularVelocityZ)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > orientate2 (T const &angle)
 Creates a 2D 2 * 2 rotation matrix from an euler angle. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > orientate3 (T const &angle)
 Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > orientate3 (vec< 3, T, Q > const &angles)
 Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > orientate4 (vec< 3, T, Q > const &angles)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Y * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * X * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Z * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Y * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * X * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * Z * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * Y * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * X * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Z * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * Z * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * Y * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * X * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleX (T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleY (T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZ (T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > derivedEulerAngleX (T const &angleX, T const &angularVelocityX)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > derivedEulerAngleY (T const &angleY, T const &angularVelocityY)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > derivedEulerAngleZ (T const &angleZ, T const &angularVelocityZ)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZX (T const &angleZ, T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXZX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXYX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYXY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYZY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZYZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZXZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXZY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYZX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZYX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZXY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 2, T, defaultp > orientate2 (T const &angle)
 Creates a 2D 2 * 2 rotation matrix from an euler angle. More...
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 3, T, defaultp > orientate3 (T const &angle)
 Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > orientate3 (vec< 3, T, Q > const &angles)
 Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > orientate4 (vec< 3, T, Q > const &angles)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleYXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * X * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleXZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Z * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleXYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Y * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleYXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * X * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleYZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * Z * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleZYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * Y * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleZXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * X * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleXZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Z * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleYZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * Z * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleZYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * Y * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleZXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * X * Y) Euler angles from the rotation matrix M. More...
 
template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 Extends of Length the Origin position using the (Source - Origin) direction. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType extend (genType const &Origin, genType const &Source, genType const &Distance)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > extend (vec< 2, T, Q > const &Origin, vec< 2, T, Q > const &Source, T const &Distance)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > extend (vec< 3, T, Q > const &Origin, vec< 3, T, Q > const &Source, T const &Distance)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > extend (vec< 4, T, Q > const &Origin, vec< 4, T, Q > const &Source, T const &Distance)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z, T const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z, T const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T min (T const &x, T const &y, T const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T min (T const &x, T const &y, T const &z, T const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T max (T const &x, T const &y, T const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T max (T const &x, T const &y, T const &z, T const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T cross (vec< 2, T, Q > const &v, vec< 2, T, Q > const &u)
 Returns the cross product of x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T cross (vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)
 Returns the cross product of x and y. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastPow (genType x, genType y)
 Faster than the common pow function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastPow (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Faster than the common pow function but less accurate. More...
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT fastPow (genTypeT x, genTypeU y)
 Faster than the common pow function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastPow (vec< L, T, Q > const &x)
 Faster than the common pow function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastExp (T x)
 Faster than the common exp function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastExp (vec< L, T, Q > const &x)
 Faster than the common exp function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastLog (T x)
 Faster than the common log function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastLog (vec< L, T, Q > const &x)
 Faster than the common exp2 function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastExp2 (T x)
 Faster than the common exp2 function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastExp2 (vec< L, T, Q > const &x)
 Faster than the common exp2 function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastLog2 (T x)
 Faster than the common log2 function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastLog2 (vec< L, T, Q > const &x)
 Faster than the common log2 function but less accurate. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastPow (genType x, genType y)
 Faster than the common pow function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastPow (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Faster than the common pow function but less accurate. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T fastPow (T x, int y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastPow (vec< L, T, Q > const &x, vec< L, int, Q > const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastExp (T x)
 Faster than the common exp function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastExp (vec< L, T, Q > const &x)
 Faster than the common exp function but less accurate. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastLog (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastLog (vec< L, T, Q > const &x)
 Faster than the common exp2 function but less accurate. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastExp2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastExp2 (vec< L, T, Q > const &x)
 Faster than the common exp2 function but less accurate. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastLog2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastLog2 (vec< L, T, Q > const &x)
 Faster than the common log2 function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 Faster than the common sqrt function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastSqrt (vec< L, T, Q > const &x)
 Faster than the common sqrt function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastInverseSqrt (genType x)
 Faster than the common inversesqrt function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastInverseSqrt (vec< L, T, Q > const &x)
 Faster than the common inversesqrt function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastLength (genType x)
 Faster than the common length function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastLength (vec< L, T, Q > const &x)
 Faster than the common length function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastDistance (genType x, genType y)
 Faster than the common distance function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastDistance (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Faster than the common distance function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 Faster than the common normalize function but less accurate. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastSqrt (genType x)
 Faster than the common sqrt function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastSqrt (vec< L, T, Q > const &x)
 Faster than the common sqrt function but less accurate. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastInverseSqrt (genType x)
 Faster than the common inversesqrt function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastInverseSqrt (vec< L, T, Q > const &x)
 Faster than the common inversesqrt function but less accurate. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastLength (genType x)
 Faster than the common length function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T fastLength (vec< L, T, Q > const &x)
 Faster than the common length function but less accurate. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastDistance (genType x, genType y)
 Faster than the common distance function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T fastDistance (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Faster than the common distance function but less accurate. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastNormalize (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastNormalize (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_DECL T wrapAngle (T angle)
 Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension. More...
 
template<typename T >
GLM_FUNC_DECL T fastSin (T angle)
 Faster than the common sin function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastCos (T angle)
 Faster than the common cos function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastTan (T angle)
 Faster than the common tan function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAsin (T angle)
 Faster than the common asin function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAcos (T angle)
 Faster than the common acos function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T y, T x)
 Faster than the common atan function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T angle)
 Faster than the common atan function but less accurate. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T wrapAngle (T angle)
 Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > wrapAngle (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastCos (T x)
 Faster than the common cos function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastCos (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastSin (T x)
 Faster than the common sin function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastSin (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastTan (T x)
 Faster than the common tan function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastTan (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastAsin (T x)
 Faster than the common asin function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastAsin (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastAcos (T x)
 Faster than the common acos function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastAcos (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastAtan (T y, T x)
 Faster than the common atan function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastAtan (vec< L, T, Q > const &y, vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastAtan (T x)
 Faster than the common atan function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastAtan (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > floatNormalize (vec< L, T, Q > const &v)
 
template<typename T >
GLM_FUNC_DECL T gauss (T x, T ExpectedValue, T StandardDeviation)
 1D gauss function More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T gauss (vec< 2, T, Q > const &Coord, vec< 2, T, Q > const &ExpectedValue, vec< 2, T, Q > const &StandardDeviation)
 2D gauss function More...
 
template<typename T >
GLM_FUNC_QUALIFIER T gauss (T x, T ExpectedValue, T StandardDeviation)
 1D gauss function More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T gauss (vec< 2, T, Q > const &Coord, vec< 2, T, Q > const &ExpectedValue, vec< 2, T, Q > const &StandardDeviation)
 2D gauss function More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T radialGradient (vec< 2, T, Q > const &Center, T const &Radius, vec< 2, T, Q > const &Focal, vec< 2, T, Q > const &Position)
 Return a color from a radial gradient. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T linearGradient (vec< 2, T, Q > const &Point0, vec< 2, T, Q > const &Point1, vec< 2, T, Q > const &Position)
 Return a color from a linear gradient. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T radialGradient (vec< 2, T, Q > const &Center, T const &Radius, vec< 2, T, Q > const &Focal, vec< 2, T, Q > const &Position)
 Return a color from a radial gradient. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T linearGradient (vec< 2, T, Q > const &Point0, vec< 2, T, Q > const &Point1, vec< 2, T, Q > const &Position)
 Return a color from a linear gradient. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool rightHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 Return if a trihedron right handed or not. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool leftHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 Return if a trihedron left handed or not. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool rightHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 Return if a trihedron right handed or not. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool leftHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 Return if a trihedron left handed or not. More...
 
GLM_FUNC_DECL int pow (int x, uint y)
 Returns x raised to the y power. More...
 
GLM_FUNC_DECL int sqrt (int x)
 Returns the positive square root of x. More...
 
GLM_FUNC_DECL unsigned int floor_log2 (unsigned int x)
 Returns the floor log2 of x. More...
 
GLM_FUNC_DECL int mod (int x, int y)
 Modulus. More...
 
template<typename genType >
GLM_FUNC_DECL genType factorial (genType const &x)
 Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension. More...
 
GLM_FUNC_DECL uint pow (uint x, uint y)
 Returns x raised to the y power. More...
 
GLM_FUNC_DECL uint sqrt (uint x)
 Returns the positive square root of x. More...
 
GLM_FUNC_DECL uint mod (uint x, uint y)
 Modulus. More...
 
GLM_FUNC_DECL uint nlz (uint x)
 Returns the number of leading zeros. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType factorial (genType const &x)
 Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > factorial (vec< 2, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > factorial (vec< 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > factorial (vec< 4, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 Compute the intersection of a ray and a plane. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool intersectRayTriangle (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dir, vec< 3, T, Q > const &v0, vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 2, T, Q > &baryPosition, T &distance)
 Compute the intersection of a ray and a triangle. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 Compute the intersection of a line and a triangle. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 Compute the intersection distance of a ray and a sphere. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 Compute the intersection of a ray and a sphere. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 Compute the intersection of a line and a sphere. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 Compute the intersection of a ray and a plane. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool intersectRayTriangle (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dir, vec< 3, T, Q > const &vert0, vec< 3, T, Q > const &vert1, vec< 3, T, Q > const &vert2, vec< 2, T, Q > &baryPosition, T &distance)
 Compute the intersection of a ray and a triangle. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 Compute the intersection of a line and a triangle. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 Compute the intersection distance of a ray and a sphere. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 Compute the intersection of a ray and a sphere. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPoint1, genType &intersectionNormal1, genType &intersectionPoint2, genType &intersectionNormal2)
 Compute the intersection of a line and a sphere. More...
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, qua< T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, vec< 1, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, vec< 2, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, vec< 3, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, vec< 4, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 2, 2, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 2, 3, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 2, 4, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 3, 2, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 3, 3, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 3, 4, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 4, 2, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 4, 3, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 4, 4, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, std::pair< mat< 4, 4, T, Q > const, mat< 4, 4, T, Q > const > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, qua< T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, vec< 1, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, vec< 2, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, vec< 3, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, vec< 4, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 2, 2, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 2, 3, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 2, 4, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 3, 2, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 3, 3, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 3, 4, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 4, 2, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 4, 3, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 4, 4, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, std::pair< mat< 4, 4, T, Q > const, mat< 4, 4, T, Q > const > const &a)
 
template<typename genType >
GLM_FUNC_DECL genType log (genType const &x, genType const &base)
 Logarithm for any base. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sign (vec< L, T, Q > const &x, vec< L, T, Q > const &base)
 Logarithm for any base. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType log (genType const &x, genType const &base)
 Logarithm for any base. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > log (vec< L, T, Q > const &x, vec< L, T, Q > const &base)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > matrixCross3 (vec< 3, T, Q > const &x)
 Build a cross product matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > matrixCross4 (vec< 3, T, Q > const &x)
 Build a cross product matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > matrixCross3 (vec< 3, T, Q > const &x)
 Build a cross product matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > matrixCross4 (vec< 3, T, Q > const &x)
 Build a cross product matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool decompose (mat< 4, 4, T, Q > const &modelMatrix, vec< 3, T, Q > &scale, qua< T, Q > &orientation, vec< 3, T, Q > &translation, vec< 3, T, Q > &skew, vec< 4, T, Q > &perspective)
 Decomposes a model matrix to translations, rotation and scale components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool decompose (mat< 4, 4, T, Q > const &ModelMatrix, vec< 3, T, Q > &Scale, qua< T, Q > &Orientation, vec< 3, T, Q > &Translation, vec< 3, T, Q > &Skew, vec< 4, T, Q > &Perspective)
 Decomposes a model matrix to translations, rotation and scale components. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > flipud (mat< C, R, T, Q > const &in)
 Flips the matrix rows up and down. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > fliplr (mat< C, R, T, Q > const &in)
 Flips the matrix columns right and left. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL void qr_decompose (mat< C, R, T, Q > const &in, mat<(C< R ? C :R), R, T, Q > &q, mat< C,(C< R ? C :R), T, Q > &r)
 Performs QR factorisation of a matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL void rq_decompose (mat< C, R, T, Q > const &in, mat<(C< R ? C :R), R, T, Q > &r, mat< C,(C< R ? C :R), T, Q > &q)
 Performs RQ factorisation of a matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > flipud (mat< C, R, T, Q > const &in)
 Flips the matrix rows up and down. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > fliplr (mat< C, R, T, Q > const &in)
 Flips the matrix columns right and left. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER void qr_decompose (mat< C, R, T, Q > const &in, mat<(C< R ? C :R), R, T, Q > &q, mat< C,(C< R ? C :R), T, Q > &r)
 Performs QR factorisation of a matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER void rq_decompose (mat< C, R, T, Q > const &in, mat<(C< R ? C :R), R, T, Q > &r, mat< C,(C< R ? C :R), T, Q > &q)
 Performs RQ factorisation of a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL void axisAngle (mat< 4, 4, T, Q > const &Mat, vec< 3, T, Q > &Axis, T &Angle)
 Get the axis and angle of the rotation from a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > axisAngleMatrix (vec< 3, T, Q > const &Axis, T const Angle)
 Build a matrix from axis and angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > extractMatrixRotation (mat< 4, 4, T, Q > const &Mat)
 Extracts the rotation part of a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > interpolate (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2, T const Delta)
 Build a interpolation of 4 * 4 matrixes. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER void axisAngle (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > &axis, T &angle)
 Get the axis and angle of the rotation from a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > axisAngleMatrix (vec< 3, T, Q > const &axis, T const angle)
 Build a matrix from axis and angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > extractMatrixRotation (mat< 4, 4, T, Q > const &m)
 Extracts the rotation part of a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > interpolate (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2, T const delta)
 Build a interpolation of 4 * 4 matrixes. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2 (mat< 2, 2, T, Q > const &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3 (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3 (mat< 3, 3, T, Q > const &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4 (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4 (mat< 4, 4, T, Q > const &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2 (mat< 2, 2, T, Q > const &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3 (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3 (mat< 3, 3, T, Q > const &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4 (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4 (mat< 4, 4, T, Q > const &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > rowMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > rowMajor2 (const mat< 2, 2, T, Q > &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > rowMajor3 (const vec< 3, T, Q > &v1, const vec< 3, T, Q > &v2, const vec< 3, T, Q > &v3)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > rowMajor3 (const mat< 3, 3, T, Q > &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rowMajor4 (const vec< 4, T, Q > &v1, const vec< 4, T, Q > &v2, const vec< 4, T, Q > &v3, const vec< 4, T, Q > &v4)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rowMajor4 (const mat< 4, 4, T, Q > &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > colMajor2 (const vec< 2, T, Q > &v1, const vec< 2, T, Q > &v2)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > colMajor2 (const mat< 2, 2, T, Q > &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > colMajor3 (const vec< 3, T, Q > &v1, const vec< 3, T, Q > &v2, const vec< 3, T, Q > &v3)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > colMajor3 (const mat< 3, 3, T, Q > &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > colMajor4 (const vec< 4, T, Q > &v1, const vec< 4, T, Q > &v2, const vec< 4, T, Q > &v3, const vec< 4, T, Q > &v4)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > colMajor4 (const mat< 4, 4, T, Q > &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > diagonal2x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > diagonal2x3 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > diagonal2x4 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > diagonal3x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > diagonal3x3 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > diagonal3x4 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > diagonal4x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > diagonal4x3 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > diagonal4x4 (vec< 4, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > adjugate (mat< 2, 2, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > adjugate (mat< 3, 3, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > adjugate (mat< 4, 4, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > diagonal2x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > diagonal2x3 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > diagonal2x4 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > diagonal3x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > diagonal3x3 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > diagonal3x4 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > diagonal4x4 (vec< 4, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > diagonal4x3 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > diagonal4x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > adjugate (mat< 2, 2, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > adjugate (mat< 3, 3, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > adjugate (mat< 4, 4, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 2, 2, T, Q > const &m, T const &epsilon)
 Return whether a matrix a null matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 3, 3, T, Q > const &m, T const &epsilon)
 Return whether a matrix a null matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 4, 4, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a null matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q, template< length_t, length_t, typename, qualifier > class matType>
GLM_FUNC_DECL bool isIdentity (matType< C, R, T, Q > const &m, T const &epsilon)
 Return whether a matrix is an identity matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 2, 2, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 3, 3, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 4, 4, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q, template< length_t, length_t, typename, qualifier > class matType>
GLM_FUNC_DECL bool isOrthogonal (matType< C, R, T, Q > const &m, T const &epsilon)
 Return whether a matrix is an orthonormalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNull (mat< 2, 2, T, Q > const &m, T const &epsilon)
 Return whether a matrix a null matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNull (mat< 3, 3, T, Q > const &m, T const &epsilon)
 Return whether a matrix a null matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNull (mat< 4, 4, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a null matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isIdentity (mat< C, R, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNormalized (mat< 2, 2, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNormalized (mat< 3, 3, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNormalized (mat< 4, 4, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isOrthogonal (mat< C, R, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > translate (mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
 Builds a translation 3 * 3 matrix created from a vector of 2 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > rotate (mat< 3, 3, T, Q > const &m, T angle)
 Builds a rotation 3 * 3 matrix created from an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > scale (mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
 Builds a scale 3 * 3 matrix created from a vector of 2 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearX (mat< 3, 3, T, Q > const &m, T y)
 Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearY (mat< 3, 3, T, Q > const &m, T x)
 Builds a vertical (parallel to the y axis) shear 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T mixedProduct (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T mixedProduct (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T length2 (vec< L, T, Q > const &x)
 Returns the squared length of x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T distance2 (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 Returns the squared distance between p0 and p1, i.e., length2(p0 - p1). More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l1Norm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the L1 norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l1Norm (vec< 3, T, Q > const &v)
 Returns the L1 norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l2Norm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the L2 norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l2Norm (vec< 3, T, Q > const &x)
 Returns the L2 norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, unsigned int Depth)
 Returns the L norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lxNorm (vec< 3, T, Q > const &x, unsigned int Depth)
 Returns the L norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lMaxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the LMax norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lMaxNorm (vec< 3, T, Q > const &x)
 Returns the LMax norm of v. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType length2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T length2 (vec< L, T, Q > const &v)
 Returns the squared length of x. More...
 
template<typename T >
GLM_FUNC_QUALIFIER T distance2 (T p0, T p1)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T distance2 (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 Returns the squared distance between p0 and p1, i.e., length2(p0 - p1). More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T l1Norm (vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 Returns the L1 norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T l1Norm (vec< 3, T, Q > const &v)
 Returns the L1 norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T l2Norm (vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 Returns the L2 norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T l2Norm (vec< 3, T, Q > const &v)
 Returns the L2 norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T lxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, unsigned int Depth)
 Returns the L norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T lxNorm (vec< 3, T, Q > const &v, unsigned int Depth)
 Returns the L norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T lMaxNorm (vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 Returns the LMax norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T lMaxNorm (vec< 3, T, Q > const &v)
 Returns the LMax norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > triangleNormal (vec< 3, T, Q > const &p1, vec< 3, T, Q > const &p2, vec< 3, T, Q > const &p3)
 Computes triangle normal from triangle points. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > triangleNormal (vec< 3, T, Q > const &p1, vec< 3, T, Q > const &p2, vec< 3, T, Q > const &p3)
 Computes triangle normal from triangle points. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T normalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Normalize parameters and returns the dot product of x and y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastNormalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Normalize parameters and returns the dot product of x and y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T normalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Normalize parameters and returns the dot product of x and y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T fastNormalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Normalize parameters and returns the dot product of x and y. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType pow2 (genType const &x)
 Returns x raised to the power of 2. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType pow3 (genType const &x)
 Returns x raised to the power of 3. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType pow4 (genType const &x)
 Returns x raised to the power of 4. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > orthonormalize (mat< 3, 3, T, Q > const &m)
 Returns the orthonormalized matrix of m. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > orthonormalize (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Orthonormalizes x according y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > orthonormalize (mat< 3, 3, T, Q > const &m)
 Returns the orthonormalized matrix of m. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > orthonormalize (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Orthonormalizes x according y. More...
 
template<typename genType >
GLM_FUNC_DECL genType perp (genType const &x, genType const &Normal)
 Projects x a perpendicular axis of Normal. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType perp (genType const &x, genType const &Normal)
 Projects x a perpendicular axis of Normal. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > polar (vec< 3, T, Q > const &euclidean)
 Convert Euclidean to Polar coordinates, x is the latitude, y the longitude and z the xz distance. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > euclidean (vec< 2, T, Q > const &polar)
 Convert Polar to Euclidean coordinates. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > polar (vec< 3, T, Q > const &euclidean)
 Convert Euclidean to Polar coordinates, x is the latitude, y the longitude and z the xz distance. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > euclidean (vec< 2, T, Q > const &polar)
 Convert Polar to Euclidean coordinates. More...
 
template<typename genType >
GLM_FUNC_DECL genType proj (genType const &x, genType const &Normal)
 Projects x on Normal. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType proj (genType const &x, genType const &Normal)
 Projects x on Normal. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > quat_identity ()
 Create an identity quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 Compute a cross product between a quaternion and a vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 Compute a cross product between a vector and a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > squad (qua< T, Q > const &q1, qua< T, Q > const &q2, qua< T, Q > const &s1, qua< T, Q > const &s2, T const &h)
 Compute a point on a path according squad equation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > intermediate (qua< T, Q > const &prev, qua< T, Q > const &curr, qua< T, Q > const &next)
 Returns an intermediate control point for squad interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 Returns quarternion square root. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 Rotates a 4 components vector by a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T extractRealComponent (qua< T, Q > const &q)
 Extract the real component of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > toMat3 (qua< T, Q > const &x)
 Converts a quaternion to a 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > toMat4 (qua< T, Q > const &x)
 Converts a quaternion to a 4 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 3, 3, T, Q > const &x)
 Converts a 3 * 3 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 4, 4, T, Q > const &x)
 Converts a 4 * 4 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > shortMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 Quaternion interpolation using the rotation short path. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > fastMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 Quaternion normalized linear interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotation (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
 Compute the rotation between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR T length2 (qua< T, Q > const &q)
 Returns the squared length of x. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > quat_identity ()
 Create an identity quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > cross (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 Compute a cross product between a vector and a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > cross (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 Compute a cross product between a quaternion and a vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > squad (qua< T, Q > const &q1, qua< T, Q > const &q2, qua< T, Q > const &s1, qua< T, Q > const &s2, T const &h)
 Compute a point on a path according squad equation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > intermediate (qua< T, Q > const &prev, qua< T, Q > const &curr, qua< T, Q > const &next)
 Returns an intermediate control point for squad interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotate (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 Returns quarternion square root. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotate (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 Rotates a 4 components vector by a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T extractRealComponent (qua< T, Q > const &q)
 Extract the real component of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR T length2 (qua< T, Q > const &q)
 Returns the squared length of x. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > shortMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 Quaternion interpolation using the rotation short path. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > fastMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 Quaternion normalized linear interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > rotation (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
 Compute the rotation between two vectors. More...
 
template<typename T , qualifier Q>
length_t components (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
length_t components (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
length_t components (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
length_t components (vec< 4, T, Q > const &v)
 
template<typename genType >
length_t components (genType const &m)
 
template<typename genType >
genType::value_type const * begin (genType const &v)
 
template<typename genType >
genType::value_type const * end (genType const &v)
 
template<typename genType >
genType::value_type * begin (genType &v)
 
template<typename genType >
genType::value_type * end (genType &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotateNormalizedAxis (mat< 4, 4, T, Q > const &m, T const &angle, vec< 3, T, Q > const &axis)
 Builds a rotation 4 * 4 matrix created from a normalized axis and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotateNormalizedAxis (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
 Rotates a quaternion from a vector of 3 components normalized axis and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rotateNormalizedAxis (mat< 4, 4, T, Q > const &m, T const &angle, vec< 3, T, Q > const &v)
 Builds a rotation 4 * 4 matrix created from a normalized axis and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > rotateNormalizedAxis (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &v)
 Rotates a quaternion from a vector of 3 components normalized axis and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > slerp (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)
 Returns Spherical interpolation between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > rotate (vec< 2, T, Q > const &v, T const &angle)
 Rotate a two dimensional vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a three dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a four dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateX (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateY (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateZ (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateX (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateY (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateZ (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > orientation (vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
 Build a rotation matrix from a normal and a up vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > slerp (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)
 Returns Spherical interpolation between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > rotate (vec< 2, T, Q > const &v, T const &angle)
 Rotate a two dimensional vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotate (vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a three dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotate (vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a four dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotateX (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotateY (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotateZ (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotateX (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotateY (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotateZ (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > orientation (vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
 Build a rotation matrix from a normal and a up vector. More...
 
template<typename T >
GLM_FUNC_QUALIFIER bool lessThan (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool lessThanEqual (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool greaterThan (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool greaterThanEqual (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool equal (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool notEqual (T const &x, T const &y)
 
GLM_FUNC_QUALIFIER bool any (bool const &x)
 
GLM_FUNC_QUALIFIER bool all (bool const &x)
 
GLM_FUNC_QUALIFIER bool not_ (bool const &x)
 
template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 Return a point from a catmull rom curve. More...
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 Return a point from a hermite curve. More...
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 Return a point from a cubic curve. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 Return a point from a catmull rom curve. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 Return a point from a hermite curve. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 Return a point from a cubic curve. More...
 
template<typename genType >
GLM_FUNC_DECL std::string to_string (genType const &x)
 Create a string from a GLM vector or matrix typed variable. More...
 
template<class matType >
GLM_FUNC_QUALIFIER std::string to_string (matType const &x)
 
template<length_t L, typename T , qualifier Q>
levels (vec< L, T, Q > const &Extent)
 Compute the number of mipmaps levels necessary to create a mipmap complete texture. More...
 
template<typename T >
levels (T Extent)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > translate (vec< 3, T, Q > const &v)
 Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate (T angle, vec< 3, T, Q > const &v)
 Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scale (vec< 3, T, Q > const &v)
 Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > translate (vec< 3, T, Q > const &v)
 Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rotate (T angle, vec< 3, T, Q > const &v)
 Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scale (vec< 3, T, Q > const &v)
 Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > shearX2D (mat< 3, 3, T, Q > const &m, T y)
 Transforms a matrix with a shearing on X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > shearY2D (mat< 3, 3, T, Q > const &m, T x)
 Transforms a matrix with a shearing on Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearX3D (mat< 4, 4, T, Q > const &m, T y, T z)
 Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearY3D (mat< 4, 4, T, Q > const &m, T x, T z)
 Transforms a matrix with a shearing on Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearZ3D (mat< 4, 4, T, Q > const &m, T x, T y)
 Transforms a matrix with a shearing on Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > proj2D (mat< 3, 3, T, Q > const &m, vec< 3, T, Q > const &normal)
 Build planar projection matrix along normal axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > proj3D (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &normal)
 Build planar projection matrix along normal axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias (T scale, T bias)
 Build a scale bias matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias (mat< 4, 4, T, Q > const &m, T scale, T bias)
 Build a scale bias matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearX2D (mat< 3, 3, T, Q > const &m, T s)
 Transforms a matrix with a shearing on X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearY2D (mat< 3, 3, T, Q > const &m, T s)
 Transforms a matrix with a shearing on Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > shearX3D (mat< 4, 4, T, Q > const &m, T s, T t)
 Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > shearY3D (mat< 4, 4, T, Q > const &m, T s, T t)
 Transforms a matrix with a shearing on Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > shearZ3D (mat< 4, 4, T, Q > const &m, T s, T t)
 Transforms a matrix with a shearing on Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > reflect2D (mat< 3, 3, T, Q > const &m, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > reflect3D (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > proj2D (const mat< 3, 3, T, Q > &m, const vec< 3, T, Q > &normal)
 Build planar projection matrix along normal axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > proj3D (const mat< 4, 4, T, Q > &m, const vec< 3, T, Q > &normal)
 Build planar projection matrix along normal axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scaleBias (T scale, T bias)
 Build a scale bias matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scaleBias (mat< 4, 4, T, Q > const &m, T scale, T bias)
 Build a scale bias matrix. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int8, aligned_lowp_int8, 1)
 Low qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int16, aligned_lowp_int16, 2)
 Low qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int32, aligned_lowp_int32, 4)
 Low qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int64, aligned_lowp_int64, 8)
 Low qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int8_t, aligned_lowp_int8_t, 1)
 Low qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int16_t, aligned_lowp_int16_t, 2)
 Low qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int32_t, aligned_lowp_int32_t, 4)
 Low qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int64_t, aligned_lowp_int64_t, 8)
 Low qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i8, aligned_lowp_i8, 1)
 Low qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i16, aligned_lowp_i16, 2)
 Low qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i32, aligned_lowp_i32, 4)
 Low qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i64, aligned_lowp_i64, 8)
 Low qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int8, aligned_mediump_int8, 1)
 Medium qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int16, aligned_mediump_int16, 2)
 Medium qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int32, aligned_mediump_int32, 4)
 Medium qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int64, aligned_mediump_int64, 8)
 Medium qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int8_t, aligned_mediump_int8_t, 1)
 Medium qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int16_t, aligned_mediump_int16_t, 2)
 Medium qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int32_t, aligned_mediump_int32_t, 4)
 Medium qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int64_t, aligned_mediump_int64_t, 8)
 Medium qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i8, aligned_mediump_i8, 1)
 Medium qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i16, aligned_mediump_i16, 2)
 Medium qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i32, aligned_mediump_i32, 4)
 Medium qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i64, aligned_mediump_i64, 8)
 Medium qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int8, aligned_highp_int8, 1)
 High qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int16, aligned_highp_int16, 2)
 High qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int32, aligned_highp_int32, 4)
 High qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int64, aligned_highp_int64, 8)
 High qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int8_t, aligned_highp_int8_t, 1)
 High qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int16_t, aligned_highp_int16_t, 2)
 High qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int32_t, aligned_highp_int32_t, 4)
 High qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int64_t, aligned_highp_int64_t, 8)
 High qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i8, aligned_highp_i8, 1)
 High qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i16, aligned_highp_i16, 2)
 High qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i32, aligned_highp_i32, 4)
 High qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i64, aligned_highp_i64, 8)
 High qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int8, aligned_int8, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int16, aligned_int16, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int32, aligned_int32, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int64, aligned_int64, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int8_t, aligned_int8_t, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int16_t, aligned_int16_t, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int32_t, aligned_int32_t, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int64_t, aligned_int64_t, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i8, aligned_i8, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i16, aligned_i16, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i32, aligned_i32, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i64, aligned_i64, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec1, aligned_ivec1, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec2, aligned_ivec2, 8)
 Default qualifier 32 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec3, aligned_ivec3, 16)
 Default qualifier 32 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec4, aligned_ivec4, 16)
 Default qualifier 32 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec1, aligned_i8vec1, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec2, aligned_i8vec2, 2)
 Default qualifier 8 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec3, aligned_i8vec3, 4)
 Default qualifier 8 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec4, aligned_i8vec4, 4)
 Default qualifier 8 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec1, aligned_i16vec1, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec2, aligned_i16vec2, 4)
 Default qualifier 16 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec3, aligned_i16vec3, 8)
 Default qualifier 16 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec4, aligned_i16vec4, 8)
 Default qualifier 16 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec1, aligned_i32vec1, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec2, aligned_i32vec2, 8)
 Default qualifier 32 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec3, aligned_i32vec3, 16)
 Default qualifier 32 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec4, aligned_i32vec4, 16)
 Default qualifier 32 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec1, aligned_i64vec1, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec2, aligned_i64vec2, 16)
 Default qualifier 64 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec3, aligned_i64vec3, 32)
 Default qualifier 64 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec4, aligned_i64vec4, 32)
 Default qualifier 64 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8, aligned_lowp_uint8, 1)
 Low qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16, aligned_lowp_uint16, 2)
 Low qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32, aligned_lowp_uint32, 4)
 Low qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64, aligned_lowp_uint64, 8)
 Low qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8_t, aligned_lowp_uint8_t, 1)
 Low qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16_t, aligned_lowp_uint16_t, 2)
 Low qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32_t, aligned_lowp_uint32_t, 4)
 Low qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64_t, aligned_lowp_uint64_t, 8)
 Low qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u8, aligned_lowp_u8, 1)
 Low qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u16, aligned_lowp_u16, 2)
 Low qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u32, aligned_lowp_u32, 4)
 Low qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u64, aligned_lowp_u64, 8)
 Low qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8, aligned_mediump_uint8, 1)
 Medium qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16, aligned_mediump_uint16, 2)
 Medium qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32, aligned_mediump_uint32, 4)
 Medium qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64, aligned_mediump_uint64, 8)
 Medium qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8_t, aligned_mediump_uint8_t, 1)
 Medium qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16_t, aligned_mediump_uint16_t, 2)
 Medium qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32_t, aligned_mediump_uint32_t, 4)
 Medium qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64_t, aligned_mediump_uint64_t, 8)
 Medium qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u8, aligned_mediump_u8, 1)
 Medium qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u16, aligned_mediump_u16, 2)
 Medium qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u32, aligned_mediump_u32, 4)
 Medium qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u64, aligned_mediump_u64, 8)
 Medium qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint8, aligned_highp_uint8, 1)
 High qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint16, aligned_highp_uint16, 2)
 High qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint32, aligned_highp_uint32, 4)
 High qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint64, aligned_highp_uint64, 8)
 High qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint8_t, aligned_highp_uint8_t, 1)
 High qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint16_t, aligned_highp_uint16_t, 2)
 High qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint32_t, aligned_highp_uint32_t, 4)
 High qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint64_t, aligned_highp_uint64_t, 8)
 High qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u8, aligned_highp_u8, 1)
 High qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u16, aligned_highp_u16, 2)
 High qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u32, aligned_highp_u32, 4)
 High qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u64, aligned_highp_u64, 8)
 High qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint8, aligned_uint8, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint16, aligned_uint16, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint32, aligned_uint32, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint64, aligned_uint64, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint8_t, aligned_uint8_t, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint16_t, aligned_uint16_t, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint32_t, aligned_uint32_t, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint64_t, aligned_uint64_t, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u8, aligned_u8, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u16, aligned_u16, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u32, aligned_u32, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u64, aligned_u64, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec1, aligned_uvec1, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec2, aligned_uvec2, 8)
 Default qualifier 32 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec3, aligned_uvec3, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec4, aligned_uvec4, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec1, aligned_u8vec1, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec2, aligned_u8vec2, 2)
 Default qualifier 8 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec3, aligned_u8vec3, 4)
 Default qualifier 8 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec4, aligned_u8vec4, 4)
 Default qualifier 8 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec1, aligned_u16vec1, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec2, aligned_u16vec2, 4)
 Default qualifier 16 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec3, aligned_u16vec3, 8)
 Default qualifier 16 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec4, aligned_u16vec4, 8)
 Default qualifier 16 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec1, aligned_u32vec1, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec2, aligned_u32vec2, 8)
 Default qualifier 32 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec3, aligned_u32vec3, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec4, aligned_u32vec4, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec1, aligned_u64vec1, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec2, aligned_u64vec2, 16)
 Default qualifier 64 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec3, aligned_u64vec3, 32)
 Default qualifier 64 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec4, aligned_u64vec4, 32)
 Default qualifier 64 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_float32, 4)
 32 bit single-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float32_t, aligned_float32_t, 4)
 32 bit single-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_f32, 4)
 32 bit single-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_float64, 8)
 64 bit double-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float64_t, aligned_float64_t, 8)
 64 bit double-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_f64, 8)
 64 bit double-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (vec1, aligned_vec1, 4)
 Single-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (vec2, aligned_vec2, 8)
 Single-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (vec3, aligned_vec3, 16)
 Single-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (vec4, aligned_vec4, 16)
 Single-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (fvec1, aligned_fvec1, 4)
 Single-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (fvec2, aligned_fvec2, 8)
 Single-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (fvec3, aligned_fvec3, 16)
 Single-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (fvec4, aligned_fvec4, 16)
 Single-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec1, aligned_f32vec1, 4)
 Single-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec2, aligned_f32vec2, 8)
 Single-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec3, aligned_f32vec3, 16)
 Single-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec4, aligned_f32vec4, 16)
 Single-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (dvec1, aligned_dvec1, 8)
 Double-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (dvec2, aligned_dvec2, 16)
 Double-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (dvec3, aligned_dvec3, 32)
 Double-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (dvec4, aligned_dvec4, 32)
 Double-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec1, aligned_f64vec1, 8)
 Double-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec2, aligned_f64vec2, 16)
 Double-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec3, aligned_f64vec3, 32)
 Double-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec4, aligned_f64vec4, 32)
 Double-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (mat2, aligned_mat2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (mat3, aligned_mat3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (mat4, aligned_mat4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2x2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x3, aligned_fmat2x3, 16)
 Single-qualifier floating-point aligned 2x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x4, aligned_fmat2x4, 16)
 Single-qualifier floating-point aligned 2x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x2, aligned_fmat3x2, 16)
 Single-qualifier floating-point aligned 3x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3x3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x4, aligned_fmat3x4, 16)
 Single-qualifier floating-point aligned 3x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x2, aligned_fmat4x2, 16)
 Single-qualifier floating-point aligned 4x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x3, aligned_fmat4x3, 16)
 Single-qualifier floating-point aligned 4x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4x4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2x2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x3, aligned_f32mat2x3, 16)
 Single-qualifier floating-point aligned 2x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x4, aligned_f32mat2x4, 16)
 Single-qualifier floating-point aligned 2x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x2, aligned_f32mat3x2, 16)
 Single-qualifier floating-point aligned 3x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3x3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x4, aligned_f32mat3x4, 16)
 Single-qualifier floating-point aligned 3x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x2, aligned_f32mat4x2, 16)
 Single-qualifier floating-point aligned 4x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x3, aligned_f32mat4x3, 16)
 Single-qualifier floating-point aligned 4x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4x4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2, 32)
 Double-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3, 32)
 Double-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4, 32)
 Double-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2x2, 32)
 Double-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x3, aligned_f64mat2x3, 32)
 Double-qualifier floating-point aligned 2x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x4, aligned_f64mat2x4, 32)
 Double-qualifier floating-point aligned 2x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x2, aligned_f64mat3x2, 32)
 Double-qualifier floating-point aligned 3x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3x3, 32)
 Double-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x4, aligned_f64mat3x4, 32)
 Double-qualifier floating-point aligned 3x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x2, aligned_f64mat4x2, 32)
 Double-qualifier floating-point aligned 4x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x3, aligned_f64mat4x3, 32)
 Double-qualifier floating-point aligned 4x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4x4, 32)
 Double-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_quat, 16)
 Single-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_fquat, 16)
 Single-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (dquat, aligned_dquat, 32)
 Double-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (f32quat, aligned_f32quat, 16)
 Single-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (f64quat, aligned_f64quat, 32)
 Double-qualifier floating-point aligned quaternion. More...
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xx (const glm::vec< 1, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > wx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > wy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > wz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > ww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxx (const glm::vec< 1, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > ywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > ywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > ywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > www (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxx (const glm::vec< 1, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwww (const glm::vec< 4, T, Q > &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T angle (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the absolute angle between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T orientedAngle (vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)
 Returns the oriented angle between two 2d vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T orientedAngle (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, vec< 3, T, Q > const &ref)
 Returns the oriented angle between two 3d vectors based from a reference axis. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType angle (genType const &x, genType const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T angle (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the absolute angle between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T orientedAngle (vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)
 Returns the oriented angle between two 2d vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T orientedAngle (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, vec< 3, T, Q > const &ref)
 Returns the oriented angle between two 3d vectors based from a reference axis. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areCollinear (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are collinears. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areOrthogonal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are orthogonals. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a vector is normalized. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a vector is null. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isCompNull (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a each component of a vector is null. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areOrthonormal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are orthonormal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool areCollinear (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are collinears. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool areOrthogonal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are orthogonals. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNormalized (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a vector is normalized. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNull (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a vector is null. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isCompNull (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a each component of a vector is null. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, bool, Q > isCompNull (vec< 2, T, Q > const &v, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, bool, Q > isCompNull (vec< 3, T, Q > const &v, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > isCompNull (vec< 4, T, Q > const &v, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool areOrthonormal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are orthonormal. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > uaddCarry (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &carry)
 Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32). More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > usubBorrow (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &borrow)
 Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL void umulExtended (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &msb, vec< L, uint, Q > &lsb)
 Multiplies 32-bit integers x and y, producing a 64-bit result. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL void imulExtended (vec< L, int, Q > const &x, vec< L, int, Q > const &y, vec< L, int, Q > &msb, vec< L, int, Q > &lsb)
 Multiplies 32-bit integers x and y, producing a 64-bit result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldExtract (vec< L, T, Q > const &Value, int Offset, int Bits)
 Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldInsert (vec< L, T, Q > const &Base, vec< L, T, Q > const &Insert, int Offset, int Bits)
 Returns the insertion the bits least-significant bits of insert into base. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldReverse (vec< L, T, Q > const &v)
 Returns the reversal of the bits of value. More...
 
template<typename genType >
GLM_FUNC_DECL int bitCount (genType v)
 Returns the number of bits set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > bitCount (vec< L, T, Q > const &v)
 Returns the number of bits set to 1 in the binary representation of value. More...
 
template<typename genIUType >
GLM_FUNC_DECL int findLSB (genIUType x)
 Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findLSB (vec< L, T, Q > const &v)
 Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
 
template<typename genIUType >
GLM_FUNC_DECL int findMSB (genIUType x)
 Returns the bit number of the most significant bit in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findMSB (vec< L, T, Q > const &v)
 Returns the bit number of the most significant bit in the binary representation of value. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > matrixCompMult (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j]. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL detail::outerProduct_trait< C, R, T, Q >::type outerProduct (vec< C, T, Q > const &c, vec< R, T, Q > const &r)
 Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q >::transpose_type transpose (mat< C, R, T, Q > const &x)
 Returns the transposed matrix of x. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL T determinant (mat< C, R, T, Q > const &m)
 Return the determinant of a squared matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > inverse (mat< C, R, T, Q > const &m)
 Return the inverse of a squared matrix. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > radians (vec< L, T, Q > const &degrees)
 Converts degrees to radians and returns the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > degrees (vec< L, T, Q > const &radians)
 Converts radians to degrees and returns the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sin (vec< L, T, Q > const &angle)
 The standard trigonometric sine function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > cos (vec< L, T, Q > const &angle)
 The standard trigonometric cosine function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > tan (vec< L, T, Q > const &angle)
 The standard trigonometric tangent function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > asin (vec< L, T, Q > const &x)
 Arc sine. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > acos (vec< L, T, Q > const &x)
 Arc cosine. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atan (vec< L, T, Q > const &y, vec< L, T, Q > const &x)
 Arc tangent. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atan (vec< L, T, Q > const &y_over_x)
 Arc tangent. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sinh (vec< L, T, Q > const &angle)
 Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > cosh (vec< L, T, Q > const &angle)
 Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > tanh (vec< L, T, Q > const &angle)
 Returns the hyperbolic tangent function, sinh(angle) / cosh(angle) More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > asinh (vec< L, T, Q > const &x)
 Arc hyperbolic sine; returns the inverse of sinh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > acosh (vec< L, T, Q > const &x)
 Arc hyperbolic cosine; returns the non-negative inverse of cosh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atanh (vec< L, T, Q > const &x)
 Arc hyperbolic tangent; returns the inverse of tanh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison result of x < y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x <= y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x > y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x >= y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x == y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x != y. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool any (vec< L, bool, Q > const &v)
 Returns true if any component of x is true. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool all (vec< L, bool, Q > const &v)
 Returns true if all components of x are true. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > not_ (vec< L, bool, Q > const &v)
 Returns the component-wise logical complement of x. More...
 

Detailed Description

Core features

GLM_GTX_wrap

GLM_GTX_vector_query

GLM_GTX_vector_angle

GLM_GTX_type_trait

GLM_GTC_type_aligned

GLM_GTX_transform2

GLM_GTX_transform

GLM_GTX_texture

GLM_GTX_string_cast

GLM_GTX_std_based_type

GLM_GTX_spline

GLM_GTX_scalar_relational

GLM_GTX_rotate_vector

GLM_GTX_rotate_normalized_axis

GLM_GTX_quaternion

GLM_GTX_projection

GLM_GTX_polar_coordinates

GLM_GTX_perpendicular

GLM_GTX_orthonormalize

GLM_GTX_optimum_pow

GLM_GTX_number_precision

GLM_GTX_normalize_dot

GLM_GTX_normal

GLM_GTX_norm

GLM_GTX_mixed_producte

GLM_GTX_matrix_transform_2d

GLM_GTX_matrix_query

GLM_GTX_matrix_operation

GLM_GTX_matrix_major_storage

GLM_GTX_matrix_interpolation

GLM_GTX_matrix_factorisation

GLM_GTX_matrix_decompose

GLM_GTX_matrix_cross_product

GLM_GTX_log_base

GLM_GTX_io

GLM_GTX_intersect

GLM_GTX_integer

GLM_GTX_handed_coordinate_space

GLM_GTX_gradient_paint

GLM_GTX_functions

gtx_float_normalize

GLM_GTX_fast_trigonometry

GLM_GTX_fast_square_root

GLM_GTX_fast_exponential

GLM_GTX_exterior_product

GLM_GTX_extented_min_max

GLM_GTX_extend

GLM_GTX_euler_angles

GLM_GTX_easing

GLM_GTX_dual_quaternion

GLM_GTX_component_wise

GLM_GTX_common

GLM_GTX_color_space_YCoCg

GLM_GTX_color_space

GLM_GTX_color_encoding

GLM_GTX_closest_point

GLM_GTX_bit

GLM_GTX_associated_min_max

GLM_GTC_ulp

GLM_GTC_type_ptr

gtc_precision

GLM_GTC_round

GLM_GTC_reciprocal

GLM_GTC_packing

GLM_GTC_noise

GLM_GTC_matrix_inverse

GLM_GTC_matrix_access

GLM_GTC_integer

GLM_GTC_epsilon

GLM_GTC_constants

GLM_GTC_color_space

GLM_GTC_bitfield

Author
Jan P Springer (regni.nosp@m.rpsj.nosp@m.@gmai.nosp@m.l.co.nosp@m.m)
Miguel Ángel Pérez Martínez

Enumeration Type Documentation

◆ qualifier

Qualify GLM types in term of alignment (packed, aligned) and precision in term of ULPs (lowp, mediump, highp)

Enumerator
packed_highp 

Typed data is tightly packed in memory and operations are executed with high precision in term of ULPs.

packed_mediump 

Typed data is tightly packed in memory and operations are executed with medium precision in term of ULPs for higher performance.

packed_lowp 

Typed data is tightly packed in memory and operations are executed with low precision in term of ULPs to maximize performance.

highp 

By default highp qualifier is also packed.

mediump 

By default mediump qualifier is also packed.

lowp 

By default lowp qualifier is also packed.

packed 

By default packed qualifier is also high precision.

Function Documentation

◆ equal() [1/4]

template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool glm::equal ( genType const &  x,
genType const &  y,
genType const &  epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is satisfied.

Template Parameters
genTypeFloating-point or integer scalar types

◆ equal() [2/4]

template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool glm::equal ( genType const &  x,
genType const &  y,
int  ULPs 
)

Returns the component-wise comparison between two scalars in term of ULPs.

True if this expression is satisfied.

Parameters
xFirst operand.
ySecond operand.
ULPsMaximum difference in ULPs between the two operators to consider them equal.
Template Parameters
genTypeFloating-point or integer scalar types

◆ equal() [3/4]

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool glm::equal ( genType const &  x,
genType const &  y,
genType const &  epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is satisfied.

Template Parameters
genTypeFloating-point or integer scalar types

◆ equal() [4/4]

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool glm::equal ( genType const &  x,
genType const &  y,
int  ULPs 
)

Returns the component-wise comparison between two scalars in term of ULPs.

True if this expression is satisfied.

Parameters
xFirst operand.
ySecond operand.
ULPsMaximum difference in ULPs between the two operators to consider them equal.
Template Parameters
genTypeFloating-point or integer scalar types

◆ float_distance() [1/6]

GLM_FUNC_QUALIFIER int glm::float_distance ( float  x,
float  y 
)

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

See also
GLM_GTC_ulp

◆ float_distance() [2/6]

GLM_FUNC_QUALIFIER int64 glm::float_distance ( double  x,
double  y 
)

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

See also
GLM_GTC_ulp

◆ float_distance() [3/6]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, int, Q> glm::float_distance ( vec< L, float, Q > const &  x,
vec< L, float, Q > const &  y 
)

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ float_distance() [4/6]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, int64, Q> glm::float_distance ( vec< L, double, Q > const &  x,
vec< L, double, Q > const &  y 
)

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ float_distance() [5/6]

template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec<L, int, Q> glm::float_distance ( vec< L, float, Q > const &  x,
vec< L, float, Q > const &  y 
)

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ float_distance() [6/6]

template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec<L, int64, Q> glm::float_distance ( vec< L, double, Q > const &  x,
vec< L, double, Q > const &  y 
)

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ floatDistance() [1/6]

template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec<L, int, Q> glm::floatDistance ( vec< L, float, Q > const &  x,
vec< L, float, Q > const &  y 
)

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ floatDistance() [2/6]

GLM_FUNC_QUALIFIER int glm::floatDistance ( float  x,
float  y 
)

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

See also
GLM_EXT_scalar_ulp

◆ floatDistance() [3/6]

template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec<L, int64, Q> glm::floatDistance ( vec< L, double, Q > const &  x,
vec< L, double, Q > const &  y 
)

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ floatDistance() [4/6]

GLM_FUNC_QUALIFIER int64 glm::floatDistance ( double  x,
double  y 
)

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

See also
GLM_EXT_scalar_ulp

◆ floatDistance() [5/6]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, int, Q> glm::floatDistance ( vec< L, float, Q > const &  x,
vec< L, float, Q > const &  y 
)

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ floatDistance() [6/6]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, int64, Q> glm::floatDistance ( vec< L, double, Q > const &  x,
vec< L, double, Q > const &  y 
)

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ next_float() [1/8]

template<typename genType >
GLM_FUNC_DECL genType glm::next_float ( genType  x)

Return the next ULP value(s) after the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_GTC_ulp

◆ next_float() [2/8]

template<typename genType >
GLM_FUNC_DECL genType glm::next_float ( genType  x,
int  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_GTC_ulp

◆ next_float() [3/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::next_float ( vec< L, T, Q > const &  x)

Return the next ULP value(s) after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [4/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::next_float ( vec< L, T, Q > const &  x,
int  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [5/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::next_float ( vec< L, T, Q > const &  x,
vec< L, int, Q > const &  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [6/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::next_float ( vec< L, T, Q > const &  x)

Return the next ULP value(s) after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [7/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::next_float ( vec< L, T, Q > const &  x,
int  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [8/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::next_float ( vec< L, T, Q > const &  x,
vec< L, int, Q > const &  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ nextFloat() [1/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::nextFloat ( vec< L, T, Q > const &  x)

Return the next ULP value(s) after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [2/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::nextFloat ( vec< L, T, Q > const &  x,
int  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [3/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::nextFloat ( vec< L, T, Q > const &  x,
vec< L, int, Q > const &  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [4/8]

template<typename genType >
GLM_FUNC_DECL genType glm::nextFloat ( genType  x)

Return the next ULP value(s) after the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [5/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::nextFloat ( vec< L, T, Q > const &  x)

Return the next ULP value(s) after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [6/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::nextFloat ( vec< L, T, Q > const &  x,
int  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [7/8]

template<typename genType >
GLM_FUNC_DECL genType glm::nextFloat ( genType  x,
int  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [8/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::nextFloat ( vec< L, T, Q > const &  x,
vec< L, int, Q > const &  ULPs 
)

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ notEqual() [1/4]

template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool glm::notEqual ( genType const &  x,
genType const &  y,
genType const &  epsilon 
)

Returns the component-wise comparison of |x - y| >= epsilon.

True if this expression is not satisfied.

Template Parameters
genTypeFloating-point or integer scalar types

◆ notEqual() [2/4]

template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool glm::notEqual ( genType const &  x,
genType const &  y,
int  ULPs 
)

Returns the component-wise comparison between two scalars in term of ULPs.

True if this expression is not satisfied.

Parameters
xFirst operand.
ySecond operand.
ULPsMaximum difference in ULPs between the two operators to consider them not equal.
Template Parameters
genTypeFloating-point or integer scalar types

◆ notEqual() [3/4]

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool glm::notEqual ( genType const &  x,
genType const &  y,
genType const &  epsilon 
)

Returns the component-wise comparison of |x - y| >= epsilon.

True if this expression is not satisfied.

Template Parameters
genTypeFloating-point or integer scalar types

◆ notEqual() [4/4]

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool glm::notEqual ( genType const &  x,
genType const &  y,
int  ULPs 
)

Returns the component-wise comparison between two scalars in term of ULPs.

True if this expression is not satisfied.

Parameters
xFirst operand.
ySecond operand.
ULPsMaximum difference in ULPs between the two operators to consider them not equal.
Template Parameters
genTypeFloating-point or integer scalar types

◆ prev_float() [1/8]

template<typename genType >
GLM_FUNC_DECL genType glm::prev_float ( genType  x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_GTC_ulp

◆ prev_float() [2/8]

template<typename genType >
GLM_FUNC_DECL genType glm::prev_float ( genType  x,
int  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_GTC_ulp

◆ prev_float() [3/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::prev_float ( vec< L, T, Q > const &  x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [4/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::prev_float ( vec< L, T, Q > const &  x,
int  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [5/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::prev_float ( vec< L, T, Q > const &  x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [6/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::prev_float ( vec< L, T, Q > const &  x,
vec< L, int, Q > const &  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [7/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::prev_float ( vec< L, T, Q > const &  x,
int  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [8/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::prev_float ( vec< L, T, Q > const &  x,
vec< L, int, Q > const &  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prevFloat() [1/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::prevFloat ( vec< L, T, Q > const &  x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [2/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::prevFloat ( vec< L, T, Q > const &  x,
int  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [3/8]

template<typename genType >
GLM_FUNC_DECL genType glm::prevFloat ( genType  x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [4/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> glm::prevFloat ( vec< L, T, Q > const &  x,
vec< L, int, Q > const &  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [5/8]

template<typename genType >
GLM_FUNC_DECL genType glm::prevFloat ( genType  x,
int  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [6/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::prevFloat ( vec< L, T, Q > const &  x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [7/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::prevFloat ( vec< L, T, Q > const &  x,
int  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [8/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec<L, T, Q> glm::prevFloat ( vec< L, T, Q > const &  x,
vec< L, int, Q > const &  ULPs 
)

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp