1.0.0 API documentation
Loading...
Searching...
No Matches
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#ifndef GLM_ENABLE_EXPERIMENTAL
21# 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.")
22#elif GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23# pragma message("GLM: GLM_GTX_type_aligned extension included")
24#endif
25
26namespace glm
27{
29 // Signed int vector types
30
33
36 GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1);
37
40 GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2);
41
44 GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4);
45
48 GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8);
49
50
53 GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1);
54
57 GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2);
58
61 GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4);
62
65 GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8);
66
67
70 GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1);
71
74 GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2);
75
78 GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4);
79
82 GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8);
83
84
87 GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1);
88
91 GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2);
92
95 GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4);
96
99 GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8);
100
101
104 GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1);
105
108 GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2);
109
112 GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4);
113
116 GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8);
117
118
121 GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1);
122
125 GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2);
126
129 GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4);
130
133 GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8);
134
135
138 GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1);
139
142 GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2);
143
146 GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4);
147
150 GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8);
151
152
155 GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1);
156
159 GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2);
160
163 GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4);
164
167 GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8);
168
169
172 GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1);
173
176 GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2);
177
180 GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4);
181
184 GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8);
185
186
189 GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1);
190
193 GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2);
194
197 GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4);
198
201 GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8);
202
203
206 GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1);
207
210 GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2);
211
214 GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4);
215
218 GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8);
219
220
223 GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1);
224
227 GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2);
228
231 GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4);
232
235 GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8);
236
237
240 GLM_ALIGNED_TYPEDEF(ivec1, aligned_ivec1, 4);
241
244 GLM_ALIGNED_TYPEDEF(ivec2, aligned_ivec2, 8);
245
248 GLM_ALIGNED_TYPEDEF(ivec3, aligned_ivec3, 16);
249
252 GLM_ALIGNED_TYPEDEF(ivec4, aligned_ivec4, 16);
253
254
257 GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1);
258
261 GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2);
262
265 GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4);
266
269 GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4);
270
271
274 GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2);
275
278 GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4);
279
282 GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8);
283
286 GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8);
287
288
291 GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4);
292
295 GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8);
296
299 GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16);
300
303 GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16);
304
305
308 GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8);
309
312 GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16);
313
316 GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32);
317
320 GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32);
321
322
324 // Unsigned int vector types
325
328 GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1);
329
332 GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2);
333
336 GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4);
337
340 GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8);
341
342
345 GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1);
346
349 GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2);
350
353 GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4);
354
357 GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8);
358
359
362 GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1);
363
366 GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2);
367
370 GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4);
371
374 GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8);
375
376
379 GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1);
380
383 GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2);
384
387 GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4);
388
391 GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8);
392
393
396 GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1);
397
400 GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2);
401
404 GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4);
405
408 GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8);
409
410
413 GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1);
414
417 GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2);
418
421 GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4);
422
425 GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8);
426
427
430 GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1);
431
434 GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2);
435
438 GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4);
439
442 GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8);
443
444
447 GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1);
448
451 GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2);
452
455 GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4);
456
459 GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8);
460
461
464 GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1);
465
468 GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2);
469
472 GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4);
473
476 GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8);
477
478
481 GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1);
482
485 GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2);
486
489 GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4);
490
493 GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8);
494
495
498 GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1);
499
502 GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2);
503
506 GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4);
507
510 GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8);
511
512
515 GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1);
516
519 GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2);
520
523 GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4);
524
527 GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8);
528
529
532 GLM_ALIGNED_TYPEDEF(uvec1, aligned_uvec1, 4);
533
536 GLM_ALIGNED_TYPEDEF(uvec2, aligned_uvec2, 8);
537
540 GLM_ALIGNED_TYPEDEF(uvec3, aligned_uvec3, 16);
541
544 GLM_ALIGNED_TYPEDEF(uvec4, aligned_uvec4, 16);
545
546
549 GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1);
550
553 GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2);
554
557 GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4);
558
561 GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4);
562
563
566 GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2);
567
570 GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4);
571
574 GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8);
575
578 GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8);
579
580
583 GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4);
584
587 GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8);
588
591 GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16);
592
595 GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16);
596
597
600 GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8);
601
604 GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16);
605
608 GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32);
609
612 GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32);
613
614
616 // Float vector types
617
620 GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4);
621
624 GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4);
625
628 GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4);
629
630# ifndef GLM_FORCE_SINGLE_ONLY
631
634 GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8);
635
638 GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8);
639
642 GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8);
643
644# endif//GLM_FORCE_SINGLE_ONLY
645
646
649 GLM_ALIGNED_TYPEDEF(vec1, aligned_vec1, 4);
650
653 GLM_ALIGNED_TYPEDEF(vec2, aligned_vec2, 8);
654
657 GLM_ALIGNED_TYPEDEF(vec3, aligned_vec3, 16);
658
661 GLM_ALIGNED_TYPEDEF(vec4, aligned_vec4, 16);
662
663
666 GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4);
667
670 GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8);
671
674 GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16);
675
678 GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16);
679
680
683 GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4);
684
687 GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8);
688
691 GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16);
692
695 GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16);
696
697
700 GLM_ALIGNED_TYPEDEF(dvec1, aligned_dvec1, 8);
701
704 GLM_ALIGNED_TYPEDEF(dvec2, aligned_dvec2, 16);
705
708 GLM_ALIGNED_TYPEDEF(dvec3, aligned_dvec3, 32);
709
712 GLM_ALIGNED_TYPEDEF(dvec4, aligned_dvec4, 32);
713
714
715# ifndef GLM_FORCE_SINGLE_ONLY
716
719 GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8);
720
723 GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16);
724
727 GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32);
728
731 GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32);
732
733# endif//GLM_FORCE_SINGLE_ONLY
734
736 // Float matrix types
737
740 //typedef detail::tmat1<f32> mat1;
741
744 GLM_ALIGNED_TYPEDEF(mat2, aligned_mat2, 16);
745
748 GLM_ALIGNED_TYPEDEF(mat3, aligned_mat3, 16);
749
752 GLM_ALIGNED_TYPEDEF(mat4, aligned_mat4, 16);
753
754
757 //typedef detail::tmat1x1<f32> mat1;
758
761 GLM_ALIGNED_TYPEDEF(mat2x2, aligned_mat2x2, 16);
762
765 GLM_ALIGNED_TYPEDEF(mat3x3, aligned_mat3x3, 16);
766
769 GLM_ALIGNED_TYPEDEF(mat4x4, aligned_mat4x4, 16);
770
771
774 //typedef detail::tmat1x1<f32> fmat1;
775
778 GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16);
779
782 GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16);
783
786 GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16);
787
788
791 //typedef f32 fmat1x1;
792
795 GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16);
796
799 GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16);
800
803 GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16);
804
807 GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16);
808
811 GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16);
812
815 GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16);
816
819 GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16);
820
823 GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16);
824
827 GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16);
828
829
832 //typedef detail::tmat1x1<f32, defaultp> f32mat1;
833
836 GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16);
837
840 GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16);
841
844 GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16);
845
846
849 //typedef f32 f32mat1x1;
850
853 GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16);
854
857 GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16);
858
861 GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16);
862
865 GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16);
866
869 GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16);
870
873 GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16);
874
877 GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16);
878
881 GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16);
882
885 GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16);
886
887
888# ifndef GLM_FORCE_SINGLE_ONLY
889
892 //typedef detail::tmat1x1<f64, defaultp> f64mat1;
893
896 GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32);
897
900 GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32);
901
904 GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32);
905
906
909 //typedef f64 f64mat1x1;
910
913 GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32);
914
917 GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32);
918
921 GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32);
922
925 GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32);
926
929 GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32);
930
933 GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32);
934
937 GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32);
938
941 GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32);
942
945 GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32);
946
947# endif//GLM_FORCE_SINGLE_ONLY
948
949
951 // Quaternion types
952
955 GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16);
956
959 GLM_ALIGNED_TYPEDEF(quat, aligned_fquat, 16);
960
963 GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32);
964
967 GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16);
968
969# ifndef GLM_FORCE_SINGLE_ONLY
970
973 GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32);
974
975# endif//GLM_FORCE_SINGLE_ONLY
976
978}//namespace glm
979
980#include "type_aligned.inl"
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.
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.
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.
vec< 2, int, defaultp > ivec2
2 components vector of signed integer numbers.
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, 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< 1, int, defaultp > ivec1
1 component vector of signed integer numbers.
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, 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< 1, unsigned int, defaultp > uvec1
1 component vector of unsigned integer numbers.
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.
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:705
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:709
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:785
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:708
mat< 4, 3, f64, defaultp > f64mat4x3
Double-qualifier floating-point 4x3 matrix.
Definition fwd.hpp:789
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:669
mat< 3, 4, f32, defaultp > fmat3x4
Single-qualifier floating-point 3x4 matrix.
Definition fwd.hpp:667
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:663
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:664
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:665
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:668
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:787
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:703
mat< 4, 2, f64, defaultp > f64mat4x2
Double-qualifier floating-point 4x2 matrix.
Definition fwd.hpp:788
mat< 3, 4, f32, defaultp > f32mat3x4
Single-qualifier floating-point 3x4 matrix.
Definition fwd.hpp:707
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:784
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:783
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:704
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