3 #include "detail/qualifier.hpp"
7 #if GLM_HAS_EXTENDED_INTEGER_TYPE
18 typedef signed char int8;
19 typedef signed short int16;
20 typedef signed int int32;
23 typedef unsigned char uint8;
24 typedef unsigned short uint16;
25 typedef unsigned int uint32;
195 typedef vec<1, bool, defaultp>
bvec1;
196 typedef vec<2, bool, defaultp>
bvec2;
197 typedef vec<3, bool, defaultp>
bvec3;
198 typedef vec<4, bool, defaultp>
bvec4;
217 typedef vec<1, i32, defaultp>
ivec1;
218 typedef vec<2, i32, defaultp>
ivec2;
219 typedef vec<3, i32, defaultp>
ivec3;
220 typedef vec<4, i32, defaultp>
ivec4;
319 typedef vec<1, u32, defaultp>
uvec1;
320 typedef vec<2, u32, defaultp>
uvec2;
321 typedef vec<3, u32, defaultp>
uvec3;
322 typedef vec<4, u32, defaultp>
uvec4;
421 typedef vec<1, float, defaultp>
vec1;
422 typedef vec<2, float, defaultp>
vec2;
423 typedef vec<3, float, defaultp>
vec3;
424 typedef vec<4, float, defaultp>
vec4;
441 typedef vec<1, f32, defaultp>
fvec1;
442 typedef vec<2, f32, defaultp>
fvec2;
443 typedef vec<3, f32, defaultp>
fvec3;
444 typedef vec<4, f32, defaultp>
fvec4;
481 typedef vec<1, f64, defaultp>
dvec1;
482 typedef vec<2, f64, defaultp>
dvec2;
483 typedef vec<3, f64, defaultp>
dvec3;
484 typedef vec<4, f64, defaultp>
dvec4;
520 typedef mat<2, 2, f32, defaultp>
mat2;
521 typedef mat<3, 3, f32, defaultp>
mat3;
522 typedef mat<4, 4, f32, defaultp>
mat4;
536 typedef mat<2, 2, f32, defaultp>
fmat2;
537 typedef mat<3, 3, f32, defaultp>
fmat3;
538 typedef mat<4, 4, f32, defaultp>
fmat4;
568 typedef mat<2, 2, f64, defaultp>
dmat2;
569 typedef mat<3, 3, f64, defaultp>
dmat3;
570 typedef mat<4, 4, f64, defaultp>
dmat4;
620 typedef mat<2, 2, f32, defaultp>
mat2x2;
621 typedef mat<3, 2, f32, defaultp>
mat3x2;
622 typedef mat<4, 2, f32, defaultp>
mat4x2;
623 typedef mat<2, 3, f32, defaultp>
mat2x3;
624 typedef mat<3, 3, f32, defaultp>
mat3x3;
625 typedef mat<4, 3, f32, defaultp>
mat4x3;
626 typedef mat<2, 4, f32, defaultp>
mat2x4;
627 typedef mat<3, 4, f32, defaultp>
mat3x4;
628 typedef mat<4, 4, f32, defaultp>
mat4x4;
740 typedef mat<2, 2, double, defaultp>
dmat2x2;
741 typedef mat<3, 2, double, defaultp>
dmat3x2;
742 typedef mat<4, 2, double, defaultp>
dmat4x2;
743 typedef mat<2, 3, double, defaultp>
dmat2x3;
744 typedef mat<3, 3, double, defaultp>
dmat3x3;
745 typedef mat<4, 3, double, defaultp>
dmat4x3;
746 typedef mat<2, 4, double, defaultp>
dmat2x4;
747 typedef mat<3, 4, double, defaultp>
dmat3x4;
748 typedef mat<4, 4, double, defaultp>
dmat4x4;
795 typedef qua<float, defaultp>
quat;
797 typedef qua<float, lowp> lowp_fquat;
798 typedef qua<float, mediump> mediump_fquat;
799 typedef qua<float, highp> highp_fquat;
800 typedef qua<float, defaultp> fquat;
810 typedef qua<double, defaultp>
dquat;
vec< 1, u16, highp > highp_u16vec1
High qualifier 16 bit unsigned integer scalar type.
mat< 4, 2, float, mediump > mediump_mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 4, 2, f32, highp > highp_f32mat4x2
High single-qualifier floating-point 4x2 matrix.
mat< 4, 3, float, highp > highp_mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
mat< 4, 4, float, defaultp > mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers.
vec< 4, unsigned int, mediump > mediump_uvec4
4 components vector of medium qualifier unsigned integer numbers.
uint64 highp_u64
High qualifier 64 bit unsigned integer type.
vec< 1, f64, mediump > mediump_f64vec1
Medium double-qualifier floating-point vector of 1 component.
vec< 3, f32, defaultp > f32vec3
Single-qualifier floating-point vector of 3 components.
mat< 2, 2, f32, mediump > mediump_fmat2
Medium single-qualifier floating-point 1x1 matrix.
double highp_float64_t
High 64 bit double-qualifier floating-point scalar.
mat< 4, 4, f64, defaultp > f64mat4
Double-qualifier floating-point 4x4 matrix.
vec< 1, int, mediump > mediump_ivec1
1 component vector of signed integer values.
vec< 4, double, mediump > mediump_dvec4
4 components vector of medium double-qualifier floating-point numbers.
vec< 3, float, highp > highp_vec3
3 components vector of high single-qualifier floating-point numbers.
mat< 4, 2, double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
mat< 2, 2, float, defaultp > mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers.
mat< 2, 2, f64, defaultp > f64mat2
Double-qualifier floating-point 1x1 matrix.
mat< 4, 3, f32, mediump > mediump_fmat4x3
Medium single-qualifier floating-point 4x3 matrix.
mat< 3, 3, f32, mediump > mediump_f32mat3
Medium single-qualifier floating-point 3x3 matrix.
uint32 mediump_uint32_t
Medium qualifier 32 bit unsigned integer type.
uint64 lowp_uint64
Low qualifier 64 bit unsigned integer type.
mat< 3, 3, float, mediump > mediump_mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 2, 2, f32, mediump > mediump_fmat2x2
Medium single-qualifier floating-point 1x1 matrix.
vec< 1, f32, defaultp > f32vec1
Single-qualifier floating-point vector of 1 component.
mat< 4, 4, f32, highp > highp_f32mat4
High single-qualifier floating-point 4x4 matrix.
qua< float, highp > highp_quat
Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs...
double highp_float64
High 64 bit double-qualifier floating-point scalar.
mat< 3, 2, double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
uint8 lowp_u8
Low qualifier 8 bit unsigned integer type.
mat< 3, 2, double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
uint32 u32
Default qualifier 32 bit unsigned integer type.
mat< 3, 3, f64, defaultp > f64mat3
Double-qualifier floating-point 3x3 matrix.
vec< 2, int, highp > highp_ivec2
2 components vector of high qualifier signed integer numbers.
mat< 4, 3, double, highp > highp_dmat4x3
4 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 3, float, mediump > mediump_mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
double lowp_float64
Low 64 bit double-qualifier floating-point scalar.
vec< 1, i32, defaultp > i32vec1
32 bit signed integer scalar type.
uint16 highp_uint16
High qualifier 16 bit unsigned integer type.
mat< 2, 4, f64, mediump > mediump_f64mat2x4
Medium double-qualifier floating-point 2x4 matrix.
vec< 4, i64, highp > highp_i64vec4
High qualifier 64 bit signed integer vector of 4 components type.
mat< 4, 4, double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 4, f64, defaultp > f64mat3x4
Double-qualifier floating-point 3x4 matrix.
vec< 4, double, highp > highp_dvec4
4 components vector of high double-qualifier floating-point numbers.
mat< 2, 2, f32, defaultp > fmat2
Single-qualifier floating-point 1x1 matrix.
mat< 3, 4, double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of double-precision floating-point numbers using low precision arith...
vec< 3, i16, defaultp > i16vec3
16 bit signed integer vector of 3 components type.
uint32 lowp_uint32_t
Low qualifier 32 bit unsigned integer type.
vec< 2, float, lowp > lowp_fvec2
Low single-qualifier floating-point vector of 2 components.
uint32 mediump_uint32
Medium qualifier 32 bit unsigned integer type.
mat< 4, 4, f32, mediump > mediump_fmat4
Medium single-qualifier floating-point 4x4 matrix.
uint64 highp_uint64
High qualifier 64 bit unsigned integer type.
mat< 2, 2, f32, lowp > lowp_fmat2
Low single-qualifier floating-point 1x1 matrix.
uint32 lowp_uint32
Low qualifier 32 bit unsigned integer type.
vec< 3, float, lowp > lowp_fvec3
Low single-qualifier floating-point vector of 3 components.
vec< 2, float, mediump > mediump_fvec2
Medium Single-qualifier floating-point vector of 2 components.
mat< 2, 3, float, highp > highp_mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
mat< 3, 4, f32, lowp > lowp_fmat3x4
Low single-qualifier floating-point 3x4 matrix.
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
mat< 2, 2, f64, lowp > lowp_f64mat2x2
Low double-qualifier floating-point 1x1 matrix.
vec< 4, i64, defaultp > i64vec4
64 bit signed integer vector of 4 components type.
vec< 3, u16, defaultp > u16vec3
Default qualifier 16 bit unsigned integer vector of 3 components type.
vec< 1, u64, lowp > lowp_u64vec1
Low qualifier 64 bit unsigned integer scalar type.
mat< 2, 2, double, mediump > mediump_dmat2
2 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 1, u16, mediump > mediump_u16vec1
Medium qualifier 16 bit unsigned integer scalar type.
vec< 2, float, highp > highp_vec2
2 components vector of high single-qualifier floating-point numbers.
vec< 2, i8, defaultp > i8vec2
8 bit signed integer vector of 2 components type.
mat< 2, 3, f64, mediump > mediump_f64mat2x3
Medium double-qualifier floating-point 2x3 matrix.
vec< 4, u32, lowp > lowp_u32vec4
Low qualifier 32 bit unsigned integer vector of 4 components type.
vec< 4, f32, highp > highp_f32vec4
High single-qualifier floating-point vector of 4 components.
vec< 3, unsigned int, defaultp > uvec3
3 components vector of unsigned integer numbers.
vec< 1, f32, lowp > lowp_f32vec1
Low single-qualifier floating-point vector of 1 component.
mat< 2, 3, f32, highp > highp_f32mat2x3
High single-qualifier floating-point 2x3 matrix.
int64 highp_int64
High qualifier 64 bit signed integer type.
vec< 2, i32, mediump > mediump_i32vec2
Medium qualifier 32 bit signed integer vector of 2 components type.
vec< 1, double, lowp > lowp_dvec1
1 component vector of double-precision floating-point numbers using low precision arithmetic in term ...
mat< 4, 4, f64, lowp > lowp_f64mat4
Low double-qualifier floating-point 4x4 matrix.
mat< 4, 4, f32, defaultp > fmat4
Single-qualifier floating-point 4x4 matrix.
mat< 3, 4, f32, mediump > mediump_fmat3x4
Medium single-qualifier floating-point 3x4 matrix.
mat< 3, 3, double, lowp > lowp_dmat3
3 columns of 3 components matrix of double-precision floating-point numbers using low precision arith...
int16 lowp_int16_t
Low qualifier 16 bit signed integer type.
vec< 4, i32, highp > highp_i32vec4
High qualifier 32 bit signed integer vector of 4 components type.
mat< 4, 2, f32, defaultp > f32mat4x2
Single-qualifier floating-point 4x2 matrix.
mat< 3, 2, f32, highp > highp_fmat3x2
High single-qualifier floating-point 3x2 matrix.
mat< 2, 4, float, defaultp > mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers.
mat< 2, 3, f32, mediump > mediump_fmat2x3
Medium single-qualifier floating-point 2x3 matrix.
uint32 mediump_u32
Medium qualifier 32 bit unsigned integer type.
mat< 3, 2, f32, lowp > lowp_fmat3x2
Low single-qualifier floating-point 3x2 matrix.
mat< 2, 3, float, lowp > lowp_mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers using low precision arith...
mat< 2, 2, float, lowp > lowp_mat2
2 columns of 2 components matrix of single-precision floating-point numbers using low precision arith...
mat< 4, 2, f64, mediump > mediump_f64mat4x2
Medium double-qualifier floating-point 4x2 matrix.
vec< 4, bool, lowp > lowp_bvec4
4 components vector of low qualifier bool numbers.
vec< 2, u16, highp > highp_u16vec2
High qualifier 16 bit unsigned integer vector of 2 components type.
vec< 1, f64, highp > highp_f64vec1
High double-qualifier floating-point vector of 1 component.
vec< 3, int, defaultp > ivec3
3 components vector of signed integer numbers.
vec< 2, i16, mediump > mediump_i16vec2
Medium qualifier 16 bit signed integer vector of 2 components type.
mat< 2, 4, f32, highp > highp_fmat2x4
High single-qualifier floating-point 2x4 matrix.
vec< 3, u64, defaultp > u64vec3
Default qualifier 64 bit unsigned integer vector of 3 components type.
uint8 lowp_uint8
Low qualifier 8 bit unsigned integer type.
mat< 3, 2, f32, lowp > lowp_f32mat3x2
Low single-qualifier floating-point 3x2 matrix.
vec< 4, bool, mediump > mediump_bvec4
4 components vector of medium qualifier bool numbers.
mat< 3, 2, float, defaultp > mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers.
uint64 lowp_u64
Low qualifier 64 bit unsigned integer type.
vec< 1, unsigned int, mediump > mediump_uvec1
1 component vector of unsigned integer values.
vec< 3, i64, highp > highp_i64vec3
High qualifier 64 bit signed integer vector of 3 components type.
int8 mediump_int8
Medium qualifier 8 bit signed integer type.