0.9.9 API documentation
gtx/type_aligned.hpp
Go to the documentation of this file.
1
13
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
28namespace 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"
qua< double, defaultp > dquat
Quaternion of double-precision floating-point numbers.
qua< float, defaultp > quat
Quaternion of single-precision floating-point numbers.
detail::int8 int8
8 bit signed integer type.
detail::int16 int16
16 bit signed integer type.
detail::int32 int32
32 bit signed integer type.
detail::int64 int64
64 bit signed integer type.
detail::uint16 uint16
16 bit unsigned integer type.
detail::uint32 uint32
32 bit unsigned integer type.
detail::uint64 uint64
64 bit unsigned integer type.
detail::uint8 uint8
8 bit unsigned integer type.
vec< 1, double, defaultp > dvec1
1 components vector of double-precision floating-point numbers.
vec< 1, float, defaultp > vec1
1 components vector of single-precision floating-point numbers.
vec< 1, int, defaultp > ivec1
1 component vector of signed integer numbers.
Definition: vector_int1.hpp:28
vec< 1, int64, defaultp > i64vec1
64 bit signed integer vector of 1 component type.
vec< 1, int32, defaultp > i32vec1
32 bit signed integer vector of 1 component type.
vec< 1, int8, defaultp > i8vec1
8 bit signed integer vector of 1 component type.
vec< 1, int16, defaultp > i16vec1
16 bit signed integer vector of 1 component type.
vec< 2, int16, defaultp > i16vec2
16 bit signed integer vector of 2 components type.
vec< 2, int64, defaultp > i64vec2
64 bit signed integer vector of 2 components type.
vec< 2, int32, defaultp > i32vec2
32 bit signed integer vector of 2 components type.
vec< 2, int8, defaultp > i8vec2
8 bit signed integer vector of 2 components type.
vec< 3, int8, defaultp > i8vec3
8 bit signed integer vector of 3 components type.
vec< 3, int64, defaultp > i64vec3
64 bit signed integer vector of 3 components type.
vec< 3, int32, defaultp > i32vec3
32 bit signed integer vector of 3 components type.
vec< 3, int16, defaultp > i16vec3
16 bit signed integer vector of 3 components type.
vec< 4, int8, defaultp > i8vec4
8 bit signed integer vector of 4 components type.
vec< 4, int16, defaultp > i16vec4
16 bit signed integer vector of 4 components type.
vec< 4, int32, defaultp > i32vec4
32 bit signed integer vector of 4 components type.
vec< 4, int64, defaultp > i64vec4
64 bit signed integer vector of 4 components type.
vec< 1, unsigned int, defaultp > uvec1
1 component vector of unsigned integer numbers.
vec< 1, uint16, defaultp > u16vec1
16 bit unsigned integer vector of 1 component type.
vec< 1, uint8, defaultp > u8vec1
8 bit unsigned integer vector of 1 component type.
vec< 1, uint32, defaultp > u32vec1
32 bit unsigned integer vector of 1 component type.
vec< 1, uint64, defaultp > u64vec1
64 bit unsigned integer vector of 1 component type.
vec< 2, uint32, defaultp > u32vec2
32 bit unsigned integer vector of 2 components type.
vec< 2, uint16, defaultp > u16vec2
16 bit unsigned integer vector of 2 components type.
vec< 2, uint8, defaultp > u8vec2
8 bit unsigned integer vector of 2 components type.
vec< 2, uint64, defaultp > u64vec2
64 bit unsigned integer vector of 2 components type.
vec< 3, uint16, defaultp > u16vec3
16 bit unsigned integer vector of 3 components type.
vec< 3, uint64, defaultp > u64vec3
64 bit unsigned integer vector of 3 components type.
vec< 3, uint8, defaultp > u8vec3
8 bit unsigned integer vector of 3 components type.
vec< 3, uint32, defaultp > u32vec3
32 bit unsigned integer vector of 3 components type.
vec< 4, uint8, defaultp > u8vec4
8 bit unsigned integer vector of 4 components type.
vec< 4, uint32, defaultp > u32vec4
32 bit unsigned integer vector of 4 components type.
vec< 4, uint64, defaultp > u64vec4
64 bit unsigned integer vector of 4 components type.
vec< 4, uint16, defaultp > u16vec4
16 bit unsigned integer vector of 4 components type.
vec< 3, unsigned int, defaultp > uvec3
3 components vector of unsigned integer numbers.
vec< 4, unsigned int, defaultp > uvec4
4 components vector of unsigned integer numbers.
vec< 4, double, defaultp > dvec4
4 components vector of double-precision floating-point numbers.
vec< 3, double, defaultp > dvec3
3 components vector of double-precision floating-point numbers.
vec< 4, int, defaultp > ivec4
4 components vector of signed integer numbers.
Definition: vector_int4.hpp:15
vec< 2, double, defaultp > dvec2
2 components vector of double-precision floating-point numbers.
vec< 3, float, defaultp > vec3
3 components vector of single-precision floating-point numbers.
vec< 2, unsigned int, defaultp > uvec2
2 components vector of unsigned integer numbers.
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
vec< 4, float, defaultp > vec4
4 components vector of single-precision floating-point numbers.
vec< 3, int, defaultp > ivec3
3 components vector of signed integer numbers.
Definition: vector_int3.hpp:15
vec< 2, int, defaultp > ivec2
2 components vector of signed integer numbers.
Definition: vector_int2.hpp:15
mat< 4, 4, float, defaultp > mat4
4 columns of 4 components matrix of single-precision floating-point numbers.
mat< 2, 2, float, defaultp > mat2
2 columns of 2 components matrix of single-precision floating-point numbers.
mat< 2, 2, float, defaultp > mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers.
mat< 4, 4, float, defaultp > mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers.
mat< 3, 3, float, defaultp > mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers.
mat< 3, 3, float, defaultp > mat3
3 columns of 3 components matrix of single-precision floating-point numbers.
aligned_highp_vec1 aligned_vec1
1 component vector aligned in memory of single-precision floating-point numbers.
aligned_highp_vec2 aligned_vec2
2 components vector aligned in memory of single-precision floating-point numbers.
aligned_highp_uvec2 aligned_uvec2
2 components vector aligned in memory of unsigned integer numbers.
aligned_highp_dvec2 aligned_dvec2
2 components vector aligned in memory of double-precision floating-point numbers.
aligned_highp_uvec1 aligned_uvec1
1 component vector aligned in memory of unsigned integer numbers.
aligned_highp_uvec3 aligned_uvec3
3 components vector aligned in memory of unsigned integer numbers.
aligned_highp_ivec3 aligned_ivec3
3 components vector aligned in memory of signed integer numbers.
aligned_highp_mat3 aligned_mat3
3 by 3 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.
aligned_highp_mat2 aligned_mat2
2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
aligned_highp_ivec1 aligned_ivec1
1 component vector aligned in memory of signed integer numbers.
aligned_highp_vec3 aligned_vec3
3 components vector aligned in memory of single-precision floating-point numbers.
aligned_highp_ivec4 aligned_ivec4
4 components vector aligned in memory of signed integer numbers.
aligned_highp_vec4 aligned_vec4
4 components vector aligned in memory of single-precision floating-point numbers.
aligned_highp_dvec4 aligned_dvec4
4 components vector aligned in memory of double-precision floating-point numbers.
aligned_highp_mat4x4 aligned_mat4x4
4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
aligned_highp_dvec3 aligned_dvec3
3 components vector aligned in memory of double-precision floating-point numbers.
aligned_highp_mat4 aligned_mat4
4 by 4 matrix tightly aligned in memory 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.
aligned_highp_uvec4 aligned_uvec4
4 components vector aligned in memory of unsigned integer numbers.
aligned_highp_mat3x3 aligned_mat3x3
3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
aligned_highp_ivec2 aligned_ivec2
2 components vector aligned in memory of signed integer numbers.
int16 highp_i16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:47
int32 lowp_int32_t
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:68
mat< 2, 2, f32, defaultp > f32mat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:702
int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:71
uint64 highp_u64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:135
int8 highp_int8_t
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:42
int8 lowp_int8_t
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:40
mat< 3, 2, f32, defaultp > f32mat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:703
uint8 lowp_u8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:91
uint32 mediump_u32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:120
uint8 mediump_uint8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:97
uint32 uint32_t
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:131
int64 highp_int64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:80
double float64
Double-qualifier floating-point scalar.
Definition: fwd.hpp:173
mat< 4, 3, f32, defaultp > f32mat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:707
vec< 2, f32, defaultp > fvec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:444
mat< 3, 2, f64, defaultp > f64mat3x2
Double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:783
uint32 highp_uint32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:126
int32 mediump_int32_t
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:69
uint16 mediump_uint16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:111
uint8 uint8_t
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:103
uint64 mediump_u64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:134
qua< f64, defaultp > f64quat
Double-qualifier floating-point quaternion.
Definition: fwd.hpp:1230
int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:70
uint64 lowp_u64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:133
int8 i8
8 bit signed integer type.
Definition: fwd.hpp:34
uint64 mediump_uint64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:139
vec< 4, f32, defaultp > f32vec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:466
int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:85
mat< 2, 2, f32, defaultp > fmat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:662
uint32 mediump_uint32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:125
int64 lowp_i64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:73
qua< f32, defaultp > f32quat
Single-qualifier floating-point quaternion.
Definition: fwd.hpp:1220
int16 lowp_i16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:45
uint16 mediump_uint16_t
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:115
uint64 uint64_t
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:145
int16 i16
16 bit signed integer type.
Definition: fwd.hpp:48
mat< 4, 2, f32, defaultp > f32mat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:704
mat< 4, 3, f64, defaultp > f64mat4x3
Double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:787
int64 mediump_i64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:74
mat< 4, 3, f32, defaultp > fmat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:667
mat< 3, 4, f32, defaultp > fmat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:669
int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:43
uint32 lowp_u32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:119
uint16 lowp_u16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:105
int32 mediump_int32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:65
int8 lowp_i8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:31
mat< 2, 3, f32, defaultp > fmat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:665
vec< 2, f32, defaultp > f32vec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:464
int16 highp_int16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:52
int16 mediump_i16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:46
mat< 3, 3, f32, defaultp > f32mat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:706
uint8 lowp_uint8_t
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:100
vec< 4, f64, defaultp > f64vec4
Double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:506
mat< 2, 4, f32, defaultp > fmat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:668
int16 lowp_int16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:50
mat< 3, 2, f32, defaultp > fmat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:663
int8 mediump_int8_t
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:41
int8 mediump_int8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:37
vec< 1, f32, defaultp > f32vec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:463
vec< 4, f32, defaultp > fvec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:446
int32 highp_i32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:61
double float64_t
Default 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:178
int64 highp_int64_t
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:84
uint16 highp_uint16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:112
int8 lowp_int8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:36
uint32 highp_u32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:121
int64 mediump_int64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:79
int32 lowp_i32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:59
int16 mediump_int16_t
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:55
uint32 u32
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:122
int32 highp_int32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:66
int32 lowp_int32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:64
vec< 3, f32, defaultp > fvec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:445
int16 lowp_int16_t
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:54
mat< 4, 2, f32, defaultp > fmat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:664
uint64 lowp_uint64_t
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:142
uint16 highp_u16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:107
mat< 3, 3, f64, defaultp > f64mat3x3
Double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:786
uint16 lowp_uint16_t
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:114
uint16 uint16_t
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:117
int32 i32
32 bit signed integer type.
Definition: fwd.hpp:62
uint8 highp_uint8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:98
vec< 1, f32, defaultp > fvec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:443
uint64 mediump_uint64_t
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:143
uint16 mediump_u16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:106
mat< 2, 2, f64, defaultp > f64mat2x2
Double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:782
mat< 3, 3, f32, defaultp > fmat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:666
uint64 lowp_uint64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:138
uint16 u16
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:108
uint64 highp_uint64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:140
uint64 highp_uint64_t
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:144
float float32_t
Default 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:162
uint32 lowp_uint32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:124
vec< 3, f64, defaultp > f64vec3
Double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:505
mat< 3, 4, f64, defaultp > f64mat3x4
Double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:789
float float32
Single-qualifier floating-point scalar.
Definition: fwd.hpp:157
mat< 2, 3, f32, defaultp > f32mat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:705
mat< 4, 2, f64, defaultp > f64mat4x2
Double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:784
mat< 3, 4, f32, defaultp > f32mat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:709
int64 highp_i64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:75
int64 mediump_int64_t
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:83
uint8 highp_uint8_t
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:102
mat< 2, 4, f64, defaultp > f64mat2x4
Double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:788
int16 highp_int16_t
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:56
int8 highp_i8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:33
uint8 highp_u8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:93
int8 mediump_i8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:32
uint16 highp_uint16_t
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:116
mat< 4, 4, f32, defaultp > fmat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:670
int8 highp_int8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:38
uint8 mediump_u8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:92
uint16 lowp_uint16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:110
int64 i64
64 bit signed integer type.
Definition: fwd.hpp:76
vec< 2, f64, defaultp > f64vec2
Double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:504
vec< 1, f64, defaultp > f64vec1
Double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:503
uint8 mediump_uint8_t
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:101
int16 mediump_int16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:51
mat< 2, 3, f64, defaultp > f64mat2x3
Double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:785
mat< 4, 4, f64, defaultp > f64mat4x4
Double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:790
int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:57
uint32 highp_uint32_t
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:130
vec< 3, f32, defaultp > f32vec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:465
int64 lowp_int64_t
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:82
uint8 u8
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:94
mat< 4, 4, f32, defaultp > f32mat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:710
uint32 lowp_uint32_t
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:128
uint64 u64
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:136
uint8 lowp_uint8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:96
uint32 mediump_uint32_t
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:129
mat< 2, 4, f32, defaultp > f32mat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:708
int32 mediump_i32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:60
int64 lowp_int64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:78
GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)
Double-qualifier floating-point aligned quaternion.