0.9.9 API documentation
gtx/type_aligned.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../gtc/type_precision.hpp"
18 #include "../gtc/quaternion.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_type_aligned extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
31  // Signed int vector types
32 
35 
38  GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1);
39 
42  GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2);
43 
46  GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4);
47 
50  GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8);
51 
52 
55  GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1);
56 
59  GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2);
60 
63  GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4);
64 
67  GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8);
68 
69 
72  GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1);
73 
76  GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2);
77 
80  GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4);
81 
84  GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8);
85 
86 
89  GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1);
90 
93  GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2);
94 
97  GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4);
98 
101  GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8);
102 
103 
106  GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1);
107 
110  GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2);
111 
114  GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4);
115 
118  GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8);
119 
120 
123  GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1);
124 
127  GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2);
128 
131  GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4);
132 
135  GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8);
136 
137 
140  GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1);
141 
144  GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2);
145 
148  GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4);
149 
152  GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8);
153 
154 
157  GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1);
158 
161  GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2);
162 
165  GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4);
166 
169  GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8);
170 
171 
174  GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1);
175 
178  GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2);
179 
182  GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4);
183 
186  GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8);
187 
188 
191  GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1);
192 
195  GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2);
196 
199  GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4);
200 
203  GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8);
204 
205 
208  GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1);
209 
212  GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2);
213 
216  GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4);
217 
220  GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8);
221 
222 
225  GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1);
226 
229  GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2);
230 
233  GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4);
234 
237  GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8);
238 
239 
243 
247 
251 
255 
256 
259  GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1);
260 
263  GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2);
264 
267  GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4);
268 
271  GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4);
272 
273 
276  GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2);
277 
280  GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4);
281 
284  GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8);
285 
288  GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8);
289 
290 
293  GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4);
294 
297  GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8);
298 
301  GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16);
302 
305  GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16);
306 
307 
310  GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8);
311 
314  GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16);
315 
318  GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32);
319 
322  GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32);
323 
324 
326  // Unsigned int vector types
327 
330  GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1);
331 
334  GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2);
335 
338  GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4);
339 
342  GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8);
343 
344 
347  GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1);
348 
351  GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2);
352 
355  GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4);
356 
359  GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8);
360 
361 
364  GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1);
365 
368  GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2);
369 
372  GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4);
373 
376  GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8);
377 
378 
381  GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1);
382 
385  GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2);
386 
389  GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4);
390 
393  GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8);
394 
395 
398  GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1);
399 
402  GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2);
403 
406  GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4);
407 
410  GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8);
411 
412 
415  GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1);
416 
419  GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2);
420 
423  GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4);
424 
427  GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8);
428 
429 
432  GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1);
433 
436  GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2);
437 
440  GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4);
441 
444  GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8);
445 
446 
449  GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1);
450 
453  GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2);
454 
457  GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4);
458 
461  GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8);
462 
463 
466  GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1);
467 
470  GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2);
471 
474  GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4);
475 
478  GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8);
479 
480 
483  GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1);
484 
487  GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2);
488 
491  GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4);
492 
495  GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8);
496 
497 
500  GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1);
501 
504  GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2);
505 
508  GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4);
509 
512  GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8);
513 
514 
517  GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1);
518 
521  GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2);
522 
525  GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4);
526 
529  GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8);
530 
531 
535 
539 
543 
547 
548 
551  GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1);
552 
555  GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2);
556 
559  GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4);
560 
563  GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4);
564 
565 
568  GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2);
569 
572  GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4);
573 
576  GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8);
577 
580  GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8);
581 
582 
585  GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4);
586 
589  GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8);
590 
593  GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16);
594 
597  GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16);
598 
599 
602  GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8);
603 
606  GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16);
607 
610  GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32);
611 
614  GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32);
615 
616 
618  // Float vector types
619 
622  GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4);
623 
626  GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4);
627 
630  GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4);
631 
632 # ifndef GLM_FORCE_SINGLE_ONLY
633 
636  GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8);
637 
640  GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8);
641 
644  GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8);
645 
646 # endif//GLM_FORCE_SINGLE_ONLY
647 
648 
652 
656 
660 
664 
665 
668  GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4);
669 
672  GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8);
673 
676  GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16);
677 
680  GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16);
681 
682 
685  GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4);
686 
689  GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8);
690 
693  GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16);
694 
697  GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16);
698 
699 
703 
707 
711 
715 
716 
717 # ifndef GLM_FORCE_SINGLE_ONLY
718 
721  GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8);
722 
725  GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16);
726 
729  GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32);
730 
733  GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32);
734 
735 # endif//GLM_FORCE_SINGLE_ONLY
736 
738  // Float matrix types
739 
742  //typedef detail::tmat1<f32> mat1;
743 
747 
751 
755 
756 
759  //typedef detail::tmat1x1<f32> mat1;
760 
764 
768 
772 
773 
776  //typedef detail::tmat1x1<f32> fmat1;
777 
780  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16);
781 
784  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16);
785 
788  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16);
789 
790 
793  //typedef f32 fmat1x1;
794 
797  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16);
798 
801  GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16);
802 
805  GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16);
806 
809  GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16);
810 
813  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16);
814 
817  GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16);
818 
821  GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16);
822 
825  GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16);
826 
829  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16);
830 
831 
834  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
835 
838  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16);
839 
842  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16);
843 
846  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16);
847 
848 
851  //typedef f32 f32mat1x1;
852 
855  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16);
856 
859  GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16);
860 
863  GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16);
864 
867  GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16);
868 
871  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16);
872 
875  GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16);
876 
879  GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16);
880 
883  GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16);
884 
887  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16);
888 
889 
890 # ifndef GLM_FORCE_SINGLE_ONLY
891 
894  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
895 
898  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32);
899 
902  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32);
903 
906  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32);
907 
908 
911  //typedef f64 f64mat1x1;
912 
915  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32);
916 
919  GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32);
920 
923  GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32);
924 
927  GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32);
928 
931  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32);
932 
935  GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32);
936 
939  GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32);
940 
943  GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32);
944 
947  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32);
948 
949 # endif//GLM_FORCE_SINGLE_ONLY
950 
951 
953  // Quaternion types
954 
957  GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16);
958 
961  GLM_ALIGNED_TYPEDEF(quat, aligned_fquat, 16);
962 
965  GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32);
966 
969  GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16);
970 
971 # ifndef GLM_FORCE_SINGLE_ONLY
972 
975  GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32);
976 
977 # endif//GLM_FORCE_SINGLE_ONLY
978 
980 }//namespace glm
981 
982 #include "type_aligned.inl"
mat< 4, 4, float, defaultp > mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers.
uint64 highp_u64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:133
vec< 3, f32, defaultp > f32vec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:463
mat< 2, 2, float, defaultp > mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers.
uint32 mediump_uint32_t
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:127
aligned_highp_uvec2 aligned_uvec2
2 components vector aligned in memory of unsigned integer numbers.
uint64 lowp_uint64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:136
vec< 1, f32, defaultp > f32vec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:461
uint8 lowp_u8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:89
uint32 u32
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:120
vec< 1, i32, defaultp > i32vec1
32 bit signed integer scalar type.
Definition: fwd.hpp:277
uint16 highp_uint16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:110
mat< 3, 4, f64, defaultp > f64mat3x4
Double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:787
vec< 3, i16, defaultp > i16vec3
16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:259
uint32 lowp_uint32_t
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:126
uint32 mediump_uint32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:123
uint64 highp_uint64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:138
uint32 lowp_uint32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:122
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
vec< 4, i64, defaultp > i64vec4
64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:300
vec< 3, u16, defaultp > u16vec3
Default qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:361
aligned_highp_ivec3 aligned_ivec3
3 components vector aligned in memory of signed integer numbers.
vec< 2, i8, defaultp > i8vec2
8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:238
aligned_highp_vec3 aligned_vec3
3 components vector aligned in memory of single-precision floating-point numbers. ...
vec< 3, unsigned int, defaultp > uvec3
3 components vector of unsigned integer numbers.
aligned_highp_uvec3 aligned_uvec3
3 components vector aligned in memory of unsigned integer numbers.
int64 highp_int64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:80
int16 lowp_int16_t
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:54
mat< 4, 2, f32, defaultp > f32mat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:702
uint32 mediump_u32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:118
GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)
Double-qualifier floating-point aligned quaternion.
aligned_highp_dvec3 aligned_dvec3
3 components vector aligned in memory of double-precision floating-point numbers. ...
aligned_highp_dvec1 aligned_dvec1
1 component vector aligned in memory of double-precision floating-point numbers.
vec< 3, int, defaultp > ivec3
3 components vector of signed integer numbers.
Definition: vector_int3.hpp:15
vec< 3, u64, defaultp > u64vec3
Default qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:401
uint8 lowp_uint8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:94
uint64 lowp_u64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:131
int8 mediump_int8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:37
int64 lowp_int64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:78
vec< 2, u64, defaultp > u64vec2
Default qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:400
mat< 3, 4, f32, defaultp > f32mat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:707
uint64 u64
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:134
vec< 1, f64, defaultp > f64vec1
Double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:501
vec< 1, i16, defaultp > i16vec1
16 bit signed integer scalar type.
Definition: fwd.hpp:257
double float64
Double-qualifier floating-point scalar.
Definition: fwd.hpp:171
mat< 4, 2, f32, defaultp > fmat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:662
mat< 3, 4, f32, defaultp > fmat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:667
mat< 2, 4, f32, defaultp > f32mat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:706
vec< 4, i16, defaultp > i16vec4
16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:260
uint8 lowp_uint8_t
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:98
uint32 highp_uint32_t
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:128
mat< 3, 3, f32, defaultp > fmat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:664
mat< 2, 3, f32, defaultp > f32mat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:703
int16 mediump_int16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:51
uint16 mediump_u16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:104
qua< f64, defaultp > f64quat
Double-qualifier floating-point quaternion.
Definition: fwd.hpp:815
qua< double, defaultp > dquat
Quaternion of double-precision floating-point numbers.
vec< 1, u64, defaultp > u64vec1
Default qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:399
int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:85
aligned_highp_mat2 aligned_mat2
2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
vec< 1, u8, defaultp > u8vec1
Default qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:339
vec< 4, u8, defaultp > u8vec4
Default qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:342
int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:43
int32 i32
32 bit signed integer type.
Definition: fwd.hpp:62
mat< 2, 2, f64, defaultp > f64mat2x2
Double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:780
vec< 4, i8, defaultp > i8vec4
8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:240
int32 highp_int32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:66
uint32 highp_u32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:119
int32 highp_i32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:61
vec< 4, int, defaultp > ivec4
4 components vector of signed integer numbers.
Definition: vector_int4.hpp:15
vec< 4, u64, defaultp > u64vec4
Default qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:402
vec< 4, f32, defaultp > f32vec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:464
mat< 2, 3, f64, defaultp > f64mat2x3
Double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:783
uint32 highp_uint32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:124
mat< 3, 2, f64, defaultp > f64mat3x2
Double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:781
vec< 1, u32, defaultp > u32vec1
Default qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:379
mat< 3, 3, f64, defaultp > f64mat3x3
Double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:784
uint8 highp_uint8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:96
int8 highp_i8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:33
int8 mediump_i8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:32
int64 highp_int64_t
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:84
mat< 4, 4, f32, defaultp > f32mat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:708
float float32_t
Default 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:160
mat< 2, 2, f32, defaultp > f32mat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:700
uint32 uint32_t
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:129
aligned_highp_ivec1 aligned_ivec1
1 component vector aligned in memory of signed integer numbers.
vec< 4, float, defaultp > vec4
4 components vector of single-precision floating-point numbers.
uint8 u8
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:92
float float32
Single-qualifier floating-point scalar.
Definition: fwd.hpp:155
vec< 4, f32, defaultp > fvec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:444
vec< 1, u16, defaultp > u16vec1
Default qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:359
vec< 1, double, defaultp > dvec1
1 components vector of double-precision floating-point numbers.
vec< 1, i8, defaultp > i8vec1
8 bit signed integer scalar type.
Definition: fwd.hpp:237
vec< 2, i32, defaultp > i32vec2
32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:278
uint8 highp_uint8_t
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:100
uint64 mediump_uint64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:137
int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:70
vec< 3, f64, defaultp > f64vec3
Double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:503
mat< 2, 4, f64, defaultp > f64mat2x4
Double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:786
mat< 3, 3, float, defaultp > mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers.
uint64 mediump_u64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:132
vec< 2, unsigned int, defaultp > uvec2
2 components vector of unsigned integer numbers.
uint16 lowp_u16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:103
vec< 1, unsigned int, defaultp > uvec1
1 component vector of unsigned integer numbers.
int16 highp_i16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:47
int8 highp_int8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:38
mat< 4, 4, f64, defaultp > f64mat4x4
Double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:788
mat< 4, 3, f32, defaultp > fmat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:665
vec< 3, f32, defaultp > fvec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:443
vec< 2, i16, defaultp > i16vec2
16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:258
mat< 4, 3, f32, defaultp > f32mat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:705
int16 lowp_i16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:45
vec< 1, float, defaultp > vec1
1 components vector of single-precision floating-point numbers.
aligned_highp_mat4 aligned_mat4
4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
double float64_t
Default 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:176
int16 lowp_int16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:50
aligned_highp_uvec1 aligned_uvec1
1 component vector aligned in memory of unsigned integer numbers.
int64 lowp_int64_t
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:82
uint16 uint16_t
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:115
aligned_highp_vec1 aligned_vec1
1 component vector aligned in memory of single-precision floating-point numbers.
int32 lowp_int32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:64
uint8 uint8_t
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:101
int32 mediump_int32_t
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:69
mat< 3, 3, f32, defaultp > f32mat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:704
uint8 highp_u8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:91
uint8 mediump_uint8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:95
aligned_highp_uvec4 aligned_uvec4
4 components vector aligned in memory of unsigned integer numbers.
int64 mediump_int64_t
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:83
aligned_highp_ivec4 aligned_ivec4
4 components vector aligned in memory of signed integer numbers.
int8 highp_int8_t
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:42
mat< 3, 2, f32, defaultp > f32mat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:701
vec< 4, i32, defaultp > i32vec4
32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:280
vec< 3, u32, defaultp > u32vec3
Default qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:381
vec< 2, u8, defaultp > u8vec2
Default qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:340
int16 mediump_i16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:46
vec< 3, i8, defaultp > i8vec3
8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:239
aligned_highp_vec2 aligned_vec2
2 components vector aligned in memory of single-precision floating-point numbers. ...
mat< 4, 4, float, defaultp > mat4
4 columns of 4 components matrix of single-precision floating-point numbers.
aligned_highp_mat2x2 aligned_mat2x2
2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
uint16 mediump_uint16_t
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:113
vec< 3, u8, defaultp > u8vec3
Default qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:341
int64 mediump_int64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:79
uint64 uint64_t
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:143
vec< 3, i32, defaultp > i32vec3
32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:279
uint16 lowp_uint16_t
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:112
vec< 2, double, defaultp > dvec2
2 components vector of double-precision floating-point numbers.
uint16 lowp_uint16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:108
vec< 4, f64, defaultp > f64vec4
Double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:504
int32 lowp_i32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:59
vec< 3, float, defaultp > vec3
3 components vector of single-precision floating-point numbers.
int64 mediump_i64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:74
vec< 2, f32, defaultp > fvec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:442
aligned_highp_ivec2 aligned_ivec2
2 components vector aligned in memory of signed integer numbers.
int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:57
int64 highp_i64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:75
int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:71
vec< 2, f64, defaultp > f64vec2
Double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:502
vec< 4, unsigned int, defaultp > uvec4
4 components vector of unsigned integer numbers.
uint64 lowp_uint64_t
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:140
detail::uint64 uint64
64 bit unsigned integer type.
int16 highp_int16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:52
aligned_highp_mat4x4 aligned_mat4x4
4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 2, 4, f32, defaultp > fmat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:666
int32 mediump_i32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:60
aligned_highp_dvec4 aligned_dvec4
4 components vector aligned in memory of double-precision floating-point numbers. ...
uint64 highp_uint64_t
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:142
vec< 4, u32, defaultp > u32vec4
Default qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:382
qua< f32, defaultp > f32quat
Single-qualifier floating-point quaternion.
Definition: fwd.hpp:805
detail::int64 int64
64 bit signed integer type.
mat< 4, 2, f64, defaultp > f64mat4x2
Double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:782
mat< 2, 3, f32, defaultp > fmat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:663
uint16 u16
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:106
int64 lowp_i64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:73
vec< 2, int, defaultp > ivec2
2 components vector of signed integer numbers.
Definition: vector_int2.hpp:15
int8 mediump_int8_t
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:41
int16 highp_int16_t
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:56
vec< 1, i64, defaultp > i64vec1
64 bit signed integer scalar type.
Definition: fwd.hpp:297
aligned_highp_vec4 aligned_vec4
4 components vector aligned in memory of single-precision floating-point numbers. ...
uint32 lowp_u32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:117
vec< 1, int, defaultp > ivec1
1 component vector of signed integer numbers.
Definition: vector_int1.hpp:28
uint16 highp_u16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:105
vec< 1, f32, defaultp > fvec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:441
int32 lowp_int32_t
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:68
vec< 2, f32, defaultp > f32vec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:462
mat< 2, 2, f32, defaultp > fmat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:660
int8 lowp_int8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:36
vec< 3, double, defaultp > dvec3
3 components vector of double-precision floating-point numbers.
int8 lowp_int8_t
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:40
aligned_highp_mat3x3 aligned_mat3x3
3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 4, 3, f64, defaultp > f64mat4x3
Double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:785
int64 i64
64 bit signed integer type.
Definition: fwd.hpp:76
vec< 2, u32, defaultp > u32vec2
Default qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:380
qua< float, defaultp > quat
Quaternion of single-precision floating-point numbers.
int32 mediump_int32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:65
vec< 2, i64, defaultp > i64vec2
64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:298
int16 i16
16 bit signed integer type.
Definition: fwd.hpp:48
vec< 4, double, defaultp > dvec4
4 components vector of double-precision floating-point numbers.
mat< 4, 4, f32, defaultp > fmat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:668
mat< 2, 2, float, defaultp > mat2
2 columns of 2 components matrix of single-precision floating-point numbers.
aligned_highp_mat3 aligned_mat3
3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 3, 2, f32, defaultp > fmat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:661
vec< 4, u16, defaultp > u16vec4
Default qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:362
vec< 2, u16, defaultp > u16vec2
Default qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:360
uint8 mediump_u8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:90
aligned_highp_dvec2 aligned_dvec2
2 components vector aligned in memory of double-precision floating-point numbers. ...
int16 mediump_int16_t
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:55
int8 lowp_i8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:31
vec< 3, i64, defaultp > i64vec3
64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:299
mat< 3, 3, float, defaultp > mat3
3 columns of 3 components matrix of single-precision floating-point numbers.
uint16 highp_uint16_t
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:114
int8 i8
8 bit signed integer type.
Definition: fwd.hpp:34
uint64 mediump_uint64_t
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:141
uint8 mediump_uint8_t
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:99
Definition: common.hpp:20
uint16 mediump_uint16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:109