0.9.9 API documentation
gtx/type_aligned.hpp
Go to the documentation of this file.
1 
16 #pragma once
17 
18 // Dependency:
19 #include "../gtc/type_precision.hpp"
20 #include "../gtc/quaternion.hpp"
21 
22 #ifndef GLM_ENABLE_EXPERIMENTAL
23 # error "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."
24 #endif
25 
26 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
27 # pragma message("GLM: GLM_GTX_type_aligned extension included")
28 #endif
29 
30 namespace glm
31 {
33  // Signed int vector types
34 
37 
40  GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1);
41 
44  GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2);
45 
48  GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4);
49 
52  GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8);
53 
54 
57  GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1);
58 
61  GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2);
62 
65  GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4);
66 
69  GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8);
70 
71 
74  GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1);
75 
78  GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2);
79 
82  GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4);
83 
86  GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8);
87 
88 
91  GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1);
92 
95  GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2);
96 
99  GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4);
100 
103  GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8);
104 
105 
108  GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1);
109 
112  GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2);
113 
116  GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4);
117 
120  GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8);
121 
122 
125  GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1);
126 
129  GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2);
130 
133  GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4);
134 
137  GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8);
138 
139 
142  GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1);
143 
146  GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2);
147 
150  GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4);
151 
154  GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8);
155 
156 
159  GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1);
160 
163  GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2);
164 
167  GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4);
168 
171  GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8);
172 
173 
176  GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1);
177 
180  GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2);
181 
184  GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4);
185 
188  GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8);
189 
190 
193  GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1);
194 
197  GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2);
198 
201  GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4);
202 
205  GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8);
206 
207 
210  GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1);
211 
214  GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2);
215 
218  GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4);
219 
222  GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8);
223 
224 
227  GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1);
228 
231  GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2);
232 
235  GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4);
236 
239  GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8);
240 
241 
245 
249 
253 
257 
258 
261  GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1);
262 
265  GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2);
266 
269  GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4);
270 
273  GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4);
274 
275 
278  GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2);
279 
282  GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4);
283 
286  GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8);
287 
290  GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8);
291 
292 
295  GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4);
296 
299  GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8);
300 
303  GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16);
304 
307  GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16);
308 
309 
312  GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8);
313 
316  GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16);
317 
320  GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32);
321 
324  GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32);
325 
326 
328  // Unsigned int vector types
329 
332  GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1);
333 
336  GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2);
337 
340  GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4);
341 
344  GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8);
345 
346 
349  GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1);
350 
353  GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2);
354 
357  GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4);
358 
361  GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8);
362 
363 
366  GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1);
367 
370  GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2);
371 
374  GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4);
375 
378  GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8);
379 
380 
383  GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1);
384 
387  GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2);
388 
391  GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4);
392 
395  GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8);
396 
397 
400  GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1);
401 
404  GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2);
405 
408  GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4);
409 
412  GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8);
413 
414 
417  GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1);
418 
421  GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2);
422 
425  GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4);
426 
429  GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8);
430 
431 
434  GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1);
435 
438  GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2);
439 
442  GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4);
443 
446  GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8);
447 
448 
451  GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1);
452 
455  GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2);
456 
459  GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4);
460 
463  GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8);
464 
465 
468  GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1);
469 
472  GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2);
473 
476  GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4);
477 
480  GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8);
481 
482 
485  GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1);
486 
489  GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2);
490 
493  GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4);
494 
497  GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8);
498 
499 
502  GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1);
503 
506  GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2);
507 
510  GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4);
511 
514  GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8);
515 
516 
519  GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1);
520 
523  GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2);
524 
527  GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4);
528 
531  GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8);
532 
533 
537 
541 
545 
549 
550 
553  GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1);
554 
557  GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2);
558 
561  GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4);
562 
565  GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4);
566 
567 
570  GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2);
571 
574  GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4);
575 
578  GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8);
579 
582  GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8);
583 
584 
587  GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4);
588 
591  GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8);
592 
595  GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16);
596 
599  GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16);
600 
601 
604  GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8);
605 
608  GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16);
609 
612  GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32);
613 
616  GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32);
617 
618 
620  // Float vector types
621 
624  GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4);
625 
628  GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4);
629 
632  GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4);
633 
634 # ifndef GLM_FORCE_SINGLE_ONLY
635 
638  GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8);
639 
642  GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8);
643 
646  GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8);
647 
648 # endif//GLM_FORCE_SINGLE_ONLY
649 
650 
654 
658 
662 
666 
667 
670  GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4);
671 
674  GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8);
675 
678  GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16);
679 
682  GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16);
683 
684 
687  GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4);
688 
691  GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8);
692 
695  GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16);
696 
699  GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16);
700 
701 
705 
709 
713 
717 
718 
719 # ifndef GLM_FORCE_SINGLE_ONLY
720 
723  GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8);
724 
727  GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16);
728 
731  GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32);
732 
735  GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32);
736 
737 # endif//GLM_FORCE_SINGLE_ONLY
738 
740  // Float matrix types
741 
744  //typedef detail::tmat1<f32> mat1;
745 
749 
753 
757 
758 
761  //typedef detail::tmat1x1<f32> mat1;
762 
766 
770 
774 
775 
778  //typedef detail::tmat1x1<f32> fmat1;
779 
782  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16);
783 
786  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16);
787 
790  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16);
791 
792 
795  //typedef f32 fmat1x1;
796 
799  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16);
800 
803  GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16);
804 
807  GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16);
808 
811  GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16);
812 
815  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16);
816 
819  GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16);
820 
823  GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16);
824 
827  GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16);
828 
831  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16);
832 
833 
836  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
837 
840  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16);
841 
844  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16);
845 
848  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16);
849 
850 
853  //typedef f32 f32mat1x1;
854 
857  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16);
858 
861  GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16);
862 
865  GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16);
866 
869  GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16);
870 
873  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16);
874 
877  GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16);
878 
881  GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16);
882 
885  GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16);
886 
889  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16);
890 
891 
892 # ifndef GLM_FORCE_SINGLE_ONLY
893 
896  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
897 
900  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32);
901 
904  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32);
905 
908  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32);
909 
910 
913  //typedef f64 f64mat1x1;
914 
917  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32);
918 
921  GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32);
922 
925  GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32);
926 
929  GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32);
930 
933  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32);
934 
937  GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32);
938 
941  GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32);
942 
945  GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32);
946 
949  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32);
950 
951 # endif//GLM_FORCE_SINGLE_ONLY
952 
953 
955  // Quaternion types
956 
959  GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16);
960 
963  GLM_ALIGNED_TYPEDEF(quat, aligned_fquat, 16);
964 
967  GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32);
968 
971  GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16);
972 
973 # ifndef GLM_FORCE_SINGLE_ONLY
974 
977  GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32);
978 
979 # endif//GLM_FORCE_SINGLE_ONLY
980 
982 }//namespace glm
983 
984 #include "type_aligned.inl"
vec< 1, u64, defaultp > u64vec1
Default qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:399
uint16 highp_u16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:105
vec< 4, f32, defaultp > fvec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:444
vec< 4, double, defaultp > dvec4
4 components vector of double-precision floating-point numbers.
qua< float, defaultp > quat
Quaternion of single-precision floating-point numbers.
mat< 3, 4, f32, defaultp > fmat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:667
mat< 4, 4, f64, defaultp > f64mat4x4
Double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:788
int32 lowp_int32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:64
vec< 3, double, defaultp > dvec3
3 components vector of double-precision floating-point numbers.
mat< 4, 4, f32, defaultp > f32mat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:708
vec< 3, float, defaultp > vec3
3 components vector of single-precision floating-point numbers.
detail::uint64 uint64
64 bit unsigned integer type.
uint8 lowp_uint8_t
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:98
mat< 3, 3, float, defaultp > mat3
3 columns of 3 components matrix of single-precision floating-point numbers.
vec< 2, f32, defaultp > f32vec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:462
int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:43
mat< 4, 2, f32, defaultp > fmat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:662
vec< 4, i32, defaultp > i32vec4
32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:280
uint32 uint32_t
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:129
vec< 1, u8, defaultp > u8vec1
Default qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:339
mat< 2, 3, f32, defaultp > fmat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:663
uint64 mediump_uint64_t
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:141
aligned_highp_uvec1 aligned_uvec1
1 component vector aligned in memory of unsigned integer numbers.
vec< 4, unsigned int, defaultp > uvec4
4 components vector of unsigned integer numbers.
uint64 u64
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:134
int32 i32
32 bit signed integer type.
Definition: fwd.hpp:62
int16 lowp_int16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:50
vec< 4, f64, defaultp > f64vec4
Double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:504
uint64 highp_uint64_t
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:142
vec< 1, u32, defaultp > u32vec1
Default qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:379
qua< f64, defaultp > f64quat
Double-qualifier floating-point quaternion.
Definition: fwd.hpp:815
vec< 3, f64, defaultp > f64vec3
Double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:503
mat< 2, 3, f64, defaultp > f64mat2x3
Double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:783
int64 highp_int64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:80
vec< 2, f64, defaultp > f64vec2
Double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:502
mat< 3, 2, f64, defaultp > f64mat3x2
Double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:781
vec< 1, u16, defaultp > u16vec1
Default qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:359
int16 highp_i16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:47
mat< 4, 4, float, defaultp > mat4
4 columns of 4 components matrix of single-precision floating-point numbers.
uint8 u8
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:92
uint32 mediump_u32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:118
aligned_highp_vec3 aligned_vec3
3 components vector aligned in memory of single-precision floating-point numbers. ...
aligned_highp_ivec2 aligned_ivec2
2 components vector aligned in memory of signed integer numbers.
mat< 3, 3, f64, defaultp > f64mat3x3
Double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:784
int64 mediump_i64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:74
vec< 4, u8, defaultp > u8vec4
Default qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:342
uint8 lowp_uint8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:94
uint16 uint16_t
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:115
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
uint32 highp_u32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:119
aligned_highp_ivec4 aligned_ivec4
4 components vector aligned in memory of signed integer numbers.
vec< 2, int, defaultp > ivec2
2 components vector of signed integer numbers.
Definition: vector_int2.hpp:15
uint32 highp_uint32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:124
aligned_highp_ivec3 aligned_ivec3
3 components vector aligned in memory of signed integer numbers.
vec< 3, f32, defaultp > f32vec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:463
int64 lowp_i64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:73
uint16 lowp_u16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:103
uint8 highp_uint8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:96
vec< 1, i8, defaultp > i8vec1
8 bit signed integer scalar type.
Definition: fwd.hpp:237
mat< 2, 4, f32, defaultp > fmat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:666
vec< 3, f32, defaultp > fvec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:443
vec< 4, i64, defaultp > i64vec4
64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:300
vec< 3, i64, defaultp > i64vec3
64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:299
vec< 1, f32, defaultp > fvec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:441
mat< 2, 2, f32, defaultp > f32mat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:700
int8 mediump_int8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:37
mat< 2, 4, f64, defaultp > f64mat2x4
Double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:786
mat< 4, 4, f32, defaultp > fmat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:668
uint16 u16
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:106
int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:85
int16 lowp_int16_t
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:54
mat< 3, 4, f32, defaultp > f32mat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:707
uint8 mediump_uint8_t
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:99
int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:71
int16 lowp_i16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:45
GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)
Double-qualifier floating-point aligned quaternion.
vec< 1, i16, defaultp > i16vec1
16 bit signed integer scalar type.
Definition: fwd.hpp:257
aligned_highp_mat3 aligned_mat3
3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
uint8 uint8_t
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:101
mat< 3, 2, f32, defaultp > fmat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:661
int16 highp_int16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:52
vec< 2, unsigned int, defaultp > uvec2
2 components vector of unsigned integer numbers.
mat< 4, 3, f32, defaultp > fmat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:665
int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:57
int64 i64
64 bit signed integer type.
Definition: fwd.hpp:76
int64 mediump_int64_t
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:83
aligned_highp_dvec4 aligned_dvec4
4 components vector aligned in memory of double-precision floating-point numbers. ...
vec< 2, i64, defaultp > i64vec2
64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:298
int32 mediump_int32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:65
vec< 4, u64, defaultp > u64vec4
Default qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:402
vec< 3, u8, defaultp > u8vec3
Default qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:341
int64 lowp_int64_t
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:82
int8 mediump_int8_t
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:41
uint16 highp_uint16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:110
int8 mediump_i8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:32
aligned_highp_uvec3 aligned_uvec3
3 components vector aligned in memory of unsigned integer numbers.
aligned_highp_vec2 aligned_vec2
2 components vector aligned in memory of single-precision floating-point numbers. ...
int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:70
mat< 4, 3, f32, defaultp > f32mat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:705
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.
vec< 3, u16, defaultp > u16vec3
Default qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:361
uint8 lowp_u8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:89
aligned_highp_vec1 aligned_vec1
1 component vector aligned in memory of single-precision floating-point numbers.
vec< 1, i64, defaultp > i64vec1
64 bit signed integer scalar type.
Definition: fwd.hpp:297
uint64 lowp_uint64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:136
uint16 mediump_uint16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:109
vec< 3, i8, defaultp > i8vec3
8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:239
mat< 2, 4, f32, defaultp > f32mat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:706
aligned_highp_mat4 aligned_mat4
4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
aligned_highp_uvec2 aligned_uvec2
2 components vector aligned in memory of unsigned integer numbers.
uint16 highp_uint16_t
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:114
aligned_highp_mat2 aligned_mat2
2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
aligned_highp_dvec1 aligned_dvec1
1 component vector aligned in memory of double-precision floating-point numbers.
vec< 2, i8, defaultp > i8vec2
8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:238
vec< 1, f32, defaultp > f32vec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:461
mat< 3, 2, f32, defaultp > f32mat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:701
aligned_highp_vec4 aligned_vec4
4 components vector aligned in memory of single-precision floating-point numbers. ...
mat< 3, 3, float, defaultp > mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers.
vec< 3, i32, defaultp > i32vec3
32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:279
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.
vec< 3, int, defaultp > ivec3
3 components vector of signed integer numbers.
Definition: vector_int3.hpp:15
uint32 lowp_u32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:117
int8 highp_int8_t
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:42
vec< 4, i8, defaultp > i8vec4
8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:240
aligned_highp_ivec1 aligned_ivec1
1 component vector aligned in memory of signed integer numbers.
uint64 highp_uint64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:138
aligned_highp_mat3x3 aligned_mat3x3
3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
uint32 lowp_uint32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:122
vec< 2, i16, defaultp > i16vec2
16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:258
uint32 mediump_uint32_t
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:127
uint16 mediump_u16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:104
mat< 3, 3, f32, defaultp > f32mat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:704
vec< 1, float, defaultp > vec1
1 components vector of single-precision floating-point numbers.
uint32 u32
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:120
vec< 2, u16, defaultp > u16vec2
Default qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:360
vec< 4, i16, defaultp > i16vec4
16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:260
vec< 3, u32, defaultp > u32vec3
Default qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:381
aligned_highp_dvec3 aligned_dvec3
3 components vector aligned in memory of double-precision floating-point numbers. ...
int64 highp_i64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:75
int64 lowp_int64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:78
int64 highp_int64_t
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:84
mat< 3, 3, f32, defaultp > fmat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:664
vec< 2, u32, defaultp > u32vec2
Default qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:380
int8 i8
8 bit signed integer type.
Definition: fwd.hpp:34
vec< 4, u32, defaultp > u32vec4
Default qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:382
uint16 lowp_uint16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:108
uint8 highp_uint8_t
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:100
mat< 2, 2, f32, defaultp > fmat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:660
int8 highp_i8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:33
vec< 1, int, defaultp > ivec1
1 component vector of signed integer numbers.
Definition: vector_int1.hpp:29
mat< 2, 2, f64, defaultp > f64mat2x2
Double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:780
uint32 lowp_uint32_t
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:126
int8 lowp_i8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:31
mat< 4, 2, f32, defaultp > f32mat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:702
int32 lowp_i32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:59
vec< 2, u8, defaultp > u8vec2
Default qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:340
mat< 2, 2, float, defaultp > mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers.
vec< 1, double, defaultp > dvec1
1 components vector of double-precision floating-point numbers.
int16 highp_int16_t
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:56
int8 lowp_int8_t
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:40
uint16 mediump_uint16_t
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:113
aligned_highp_dvec2 aligned_dvec2
2 components vector aligned in memory of double-precision floating-point numbers. ...
vec< 1, i32, defaultp > i32vec1
32 bit signed integer scalar type.
Definition: fwd.hpp:277
int16 mediump_i16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:46
vec< 1, f64, defaultp > f64vec1
Double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:501
mat< 2, 3, f32, defaultp > f32mat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:703
uint64 lowp_uint64_t
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:140
int32 highp_int32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:66
int8 highp_int8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:38
double float64_t
Default 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:176
vec< 3, i16, defaultp > i16vec3
16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:259
Definition: common.hpp:18
uint32 mediump_uint32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:123
uint8 highp_u8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:91
qua< double, defaultp > dquat
Quaternion of double-precision floating-point numbers.
int32 mediump_int32_t
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:69
int64 mediump_int64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:79
mat< 4, 3, f64, defaultp > f64mat4x3
Double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:785
detail::int64 int64
64 bit signed integer type.
vec< 4, u16, defaultp > u16vec4
Default qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:362
mat< 4, 4, float, defaultp > mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers.
mat< 3, 4, f64, defaultp > f64mat3x4
Double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:787
float float32_t
Default 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:160
vec< 4, float, defaultp > vec4
4 components vector of single-precision floating-point numbers.
vec< 2, i32, defaultp > i32vec2
32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:278
uint32 highp_uint32_t
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:128
aligned_highp_mat4x4 aligned_mat4x4
4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
int16 mediump_int16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:51
int32 mediump_i32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:60
uint64 lowp_u64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:131
aligned_highp_mat2x2 aligned_mat2x2
2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
uint64 highp_u64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:133
vec< 4, int, defaultp > ivec4
4 components vector of signed integer numbers.
Definition: vector_int4.hpp:15
uint64 mediump_uint64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:137
mat< 4, 2, f64, defaultp > f64mat4x2
Double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:782
vec< 3, unsigned int, defaultp > uvec3
3 components vector of unsigned integer numbers.
uint64 uint64_t
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:143
mat< 2, 2, float, defaultp > mat2
2 columns of 2 components matrix of single-precision floating-point numbers.
int16 mediump_int16_t
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:55
int32 lowp_int32_t
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:68
qua< f32, defaultp > f32quat
Single-qualifier floating-point quaternion.
Definition: fwd.hpp:805
vec< 2, u64, defaultp > u64vec2
Default qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:400
int32 highp_i32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:61
uint8 mediump_u8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:90
vec< 3, u64, defaultp > u64vec3
Default qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:401
int16 i16
16 bit signed integer type.
Definition: fwd.hpp:48
vec< 4, f32, defaultp > f32vec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:464
uint64 mediump_u64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:132
vec< 2, f32, defaultp > fvec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:442
vec< 1, unsigned int, defaultp > uvec1
1 component vector of unsigned integer numbers.
int8 lowp_int8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:36