master
ブランチ master
VulkanExample / dep / include / glm / gtc / type_precision.hpp
64.4 KB、2079行 生 Blame 履歴
1/// @ref gtc_type_precision
2/// @file glm/gtc/type_precision.hpp
3///
4/// @see core (dependence)
5/// @see gtc_quaternion (dependence)
6///
7/// @defgroup gtc_type_precision GLM_GTC_type_precision
8/// @ingroup gtc
9///
10/// Include <glm/gtc/type_precision.hpp> to use the features of this extension.
11///
12/// Defines specific C++-based qualifier types.
13
14#pragma once
15
16// Dependency:
17#include "../gtc/quaternion.hpp"
18#include "../gtc/vec1.hpp"
19#include "../ext/vector_int1_sized.hpp"
20#include "../ext/vector_int2_sized.hpp"
21#include "../ext/vector_int3_sized.hpp"
22#include "../ext/vector_int4_sized.hpp"
23#include "../ext/scalar_int_sized.hpp"
24#include "../ext/vector_uint1_sized.hpp"
25#include "../ext/vector_uint2_sized.hpp"
26#include "../ext/vector_uint3_sized.hpp"
27#include "../ext/vector_uint4_sized.hpp"
28#include "../ext/scalar_uint_sized.hpp"
29#include "../detail/type_vec2.hpp"
30#include "../detail/type_vec3.hpp"
31#include "../detail/type_vec4.hpp"
32#include "../detail/type_mat2x2.hpp"
33#include "../detail/type_mat2x3.hpp"
34#include "../detail/type_mat2x4.hpp"
35#include "../detail/type_mat3x2.hpp"
36#include "../detail/type_mat3x3.hpp"
37#include "../detail/type_mat3x4.hpp"
38#include "../detail/type_mat4x2.hpp"
39#include "../detail/type_mat4x3.hpp"
40#include "../detail/type_mat4x4.hpp"
41
42#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
43# pragma message("GLM: GLM_GTC_type_precision extension included")
44#endif
45
46namespace glm
47{
48 ///////////////////////////
49 // Signed int vector types
50
51 /// @addtogroup gtc_type_precision
52 /// @{
53
54 /// Low qualifier 8 bit signed integer type.
55 /// @see gtc_type_precision
56 typedef detail::int8 lowp_int8;
57
58 /// Low qualifier 16 bit signed integer type.
59 /// @see gtc_type_precision
60 typedef detail::int16 lowp_int16;
61
62 /// Low qualifier 32 bit signed integer type.
63 /// @see gtc_type_precision
64 typedef detail::int32 lowp_int32;
65
66 /// Low qualifier 64 bit signed integer type.
67 /// @see gtc_type_precision
68 typedef detail::int64 lowp_int64;
69
70 /// Low qualifier 8 bit signed integer type.
71 /// @see gtc_type_precision
72 typedef detail::int8 lowp_int8_t;
73
74 /// Low qualifier 16 bit signed integer type.
75 /// @see gtc_type_precision
76 typedef detail::int16 lowp_int16_t;
77
78 /// Low qualifier 32 bit signed integer type.
79 /// @see gtc_type_precision
80 typedef detail::int32 lowp_int32_t;
81
82 /// Low qualifier 64 bit signed integer type.
83 /// @see gtc_type_precision
84 typedef detail::int64 lowp_int64_t;
85
86 /// Low qualifier 8 bit signed integer type.
87 /// @see gtc_type_precision
88 typedef detail::int8 lowp_i8;
89
90 /// Low qualifier 16 bit signed integer type.
91 /// @see gtc_type_precision
92 typedef detail::int16 lowp_i16;
93
94 /// Low qualifier 32 bit signed integer type.
95 /// @see gtc_type_precision
96 typedef detail::int32 lowp_i32;
97
98 /// Low qualifier 64 bit signed integer type.
99 /// @see gtc_type_precision
100 typedef detail::int64 lowp_i64;
101
102 /// Medium qualifier 8 bit signed integer type.
103 /// @see gtc_type_precision
104 typedef detail::int8 mediump_int8;
105
106 /// Medium qualifier 16 bit signed integer type.
107 /// @see gtc_type_precision
108 typedef detail::int16 mediump_int16;
109
110 /// Medium qualifier 32 bit signed integer type.
111 /// @see gtc_type_precision
112 typedef detail::int32 mediump_int32;
113
114 /// Medium qualifier 64 bit signed integer type.
115 /// @see gtc_type_precision
116 typedef detail::int64 mediump_int64;
117
118 /// Medium qualifier 8 bit signed integer type.
119 /// @see gtc_type_precision
120 typedef detail::int8 mediump_int8_t;
121
122 /// Medium qualifier 16 bit signed integer type.
123 /// @see gtc_type_precision
124 typedef detail::int16 mediump_int16_t;
125
126 /// Medium qualifier 32 bit signed integer type.
127 /// @see gtc_type_precision
128 typedef detail::int32 mediump_int32_t;
129
130 /// Medium qualifier 64 bit signed integer type.
131 /// @see gtc_type_precision
132 typedef detail::int64 mediump_int64_t;
133
134 /// Medium qualifier 8 bit signed integer type.
135 /// @see gtc_type_precision
136 typedef detail::int8 mediump_i8;
137
138 /// Medium qualifier 16 bit signed integer type.
139 /// @see gtc_type_precision
140 typedef detail::int16 mediump_i16;
141
142 /// Medium qualifier 32 bit signed integer type.
143 /// @see gtc_type_precision
144 typedef detail::int32 mediump_i32;
145
146 /// Medium qualifier 64 bit signed integer type.
147 /// @see gtc_type_precision
148 typedef detail::int64 mediump_i64;
149
150 /// High qualifier 8 bit signed integer type.
151 /// @see gtc_type_precision
152 typedef detail::int8 highp_int8;
153
154 /// High qualifier 16 bit signed integer type.
155 /// @see gtc_type_precision
156 typedef detail::int16 highp_int16;
157
158 /// High qualifier 32 bit signed integer type.
159 /// @see gtc_type_precision
160 typedef detail::int32 highp_int32;
161
162 /// High qualifier 64 bit signed integer type.
163 /// @see gtc_type_precision
164 typedef detail::int64 highp_int64;
165
166 /// High qualifier 8 bit signed integer type.
167 /// @see gtc_type_precision
168 typedef detail::int8 highp_int8_t;
169
170 /// High qualifier 16 bit signed integer type.
171 /// @see gtc_type_precision
172 typedef detail::int16 highp_int16_t;
173
174 /// 32 bit signed integer type.
175 /// @see gtc_type_precision
176 typedef detail::int32 highp_int32_t;
177
178 /// High qualifier 64 bit signed integer type.
179 /// @see gtc_type_precision
180 typedef detail::int64 highp_int64_t;
181
182 /// High qualifier 8 bit signed integer type.
183 /// @see gtc_type_precision
184 typedef detail::int8 highp_i8;
185
186 /// High qualifier 16 bit signed integer type.
187 /// @see gtc_type_precision
188 typedef detail::int16 highp_i16;
189
190 /// High qualifier 32 bit signed integer type.
191 /// @see gtc_type_precision
192 typedef detail::int32 highp_i32;
193
194 /// High qualifier 64 bit signed integer type.
195 /// @see gtc_type_precision
196 typedef detail::int64 highp_i64;
197
198 /// 8 bit signed integer type.
199 /// @see gtc_type_precision
200 using std::int8_t;
201
202 /// 16 bit signed integer type.
203 /// @see gtc_type_precision
204 using std::int16_t;
205
206 /// 32 bit signed integer type.
207 /// @see gtc_type_precision
208 using std::int32_t;
209
210 /// 64 bit signed integer type.
211 /// @see gtc_type_precision
212 using std::int64_t;
213
214 /// 8 bit signed integer type.
215 /// @see gtc_type_precision
216 typedef detail::int8 i8;
217
218 /// 16 bit signed integer type.
219 /// @see gtc_type_precision
220 typedef detail::int16 i16;
221
222 /// 32 bit signed integer type.
223 /// @see gtc_type_precision
224 typedef detail::int32 i32;
225
226 /// 64 bit signed integer type.
227 /// @see gtc_type_precision
228 typedef detail::int64 i64;
229
230 /////////////////////////////
231 // Unsigned int vector types
232
233 /// Low qualifier 8 bit unsigned integer type.
234 /// @see gtc_type_precision
235 typedef detail::uint8 lowp_uint8;
236
237 /// Low qualifier 16 bit unsigned integer type.
238 /// @see gtc_type_precision
239 typedef detail::uint16 lowp_uint16;
240
241 /// Low qualifier 32 bit unsigned integer type.
242 /// @see gtc_type_precision
243 typedef detail::uint32 lowp_uint32;
244
245 /// Low qualifier 64 bit unsigned integer type.
246 /// @see gtc_type_precision
247 typedef detail::uint64 lowp_uint64;
248
249 /// Low qualifier 8 bit unsigned integer type.
250 /// @see gtc_type_precision
251 typedef detail::uint8 lowp_uint8_t;
252
253 /// Low qualifier 16 bit unsigned integer type.
254 /// @see gtc_type_precision
255 typedef detail::uint16 lowp_uint16_t;
256
257 /// Low qualifier 32 bit unsigned integer type.
258 /// @see gtc_type_precision
259 typedef detail::uint32 lowp_uint32_t;
260
261 /// Low qualifier 64 bit unsigned integer type.
262 /// @see gtc_type_precision
263 typedef detail::uint64 lowp_uint64_t;
264
265 /// Low qualifier 8 bit unsigned integer type.
266 /// @see gtc_type_precision
267 typedef detail::uint8 lowp_u8;
268
269 /// Low qualifier 16 bit unsigned integer type.
270 /// @see gtc_type_precision
271 typedef detail::uint16 lowp_u16;
272
273 /// Low qualifier 32 bit unsigned integer type.
274 /// @see gtc_type_precision
275 typedef detail::uint32 lowp_u32;
276
277 /// Low qualifier 64 bit unsigned integer type.
278 /// @see gtc_type_precision
279 typedef detail::uint64 lowp_u64;
280
281 /// Medium qualifier 8 bit unsigned integer type.
282 /// @see gtc_type_precision
283 typedef detail::uint8 mediump_uint8;
284
285 /// Medium qualifier 16 bit unsigned integer type.
286 /// @see gtc_type_precision
287 typedef detail::uint16 mediump_uint16;
288
289 /// Medium qualifier 32 bit unsigned integer type.
290 /// @see gtc_type_precision
291 typedef detail::uint32 mediump_uint32;
292
293 /// Medium qualifier 64 bit unsigned integer type.
294 /// @see gtc_type_precision
295 typedef detail::uint64 mediump_uint64;
296
297 /// Medium qualifier 8 bit unsigned integer type.
298 /// @see gtc_type_precision
299 typedef detail::uint8 mediump_uint8_t;
300
301 /// Medium qualifier 16 bit unsigned integer type.
302 /// @see gtc_type_precision
303 typedef detail::uint16 mediump_uint16_t;
304
305 /// Medium qualifier 32 bit unsigned integer type.
306 /// @see gtc_type_precision
307 typedef detail::uint32 mediump_uint32_t;
308
309 /// Medium qualifier 64 bit unsigned integer type.
310 /// @see gtc_type_precision
311 typedef detail::uint64 mediump_uint64_t;
312
313 /// Medium qualifier 8 bit unsigned integer type.
314 /// @see gtc_type_precision
315 typedef detail::uint8 mediump_u8;
316
317 /// Medium qualifier 16 bit unsigned integer type.
318 /// @see gtc_type_precision
319 typedef detail::uint16 mediump_u16;
320
321 /// Medium qualifier 32 bit unsigned integer type.
322 /// @see gtc_type_precision
323 typedef detail::uint32 mediump_u32;
324
325 /// Medium qualifier 64 bit unsigned integer type.
326 /// @see gtc_type_precision
327 typedef detail::uint64 mediump_u64;
328
329 /// High qualifier 8 bit unsigned integer type.
330 /// @see gtc_type_precision
331 typedef detail::uint8 highp_uint8;
332
333 /// High qualifier 16 bit unsigned integer type.
334 /// @see gtc_type_precision
335 typedef detail::uint16 highp_uint16;
336
337 /// High qualifier 32 bit unsigned integer type.
338 /// @see gtc_type_precision
339 typedef detail::uint32 highp_uint32;
340
341 /// High qualifier 64 bit unsigned integer type.
342 /// @see gtc_type_precision
343 typedef detail::uint64 highp_uint64;
344
345 /// High qualifier 8 bit unsigned integer type.
346 /// @see gtc_type_precision
347 typedef detail::uint8 highp_uint8_t;
348
349 /// High qualifier 16 bit unsigned integer type.
350 /// @see gtc_type_precision
351 typedef detail::uint16 highp_uint16_t;
352
353 /// High qualifier 32 bit unsigned integer type.
354 /// @see gtc_type_precision
355 typedef detail::uint32 highp_uint32_t;
356
357 /// High qualifier 64 bit unsigned integer type.
358 /// @see gtc_type_precision
359 typedef detail::uint64 highp_uint64_t;
360
361 /// High qualifier 8 bit unsigned integer type.
362 /// @see gtc_type_precision
363 typedef detail::uint8 highp_u8;
364
365 /// High qualifier 16 bit unsigned integer type.
366 /// @see gtc_type_precision
367 typedef detail::uint16 highp_u16;
368
369 /// High qualifier 32 bit unsigned integer type.
370 /// @see gtc_type_precision
371 typedef detail::uint32 highp_u32;
372
373 /// High qualifier 64 bit unsigned integer type.
374 /// @see gtc_type_precision
375 typedef detail::uint64 highp_u64;
376
377 /// Default qualifier 8 bit unsigned integer type.
378 /// @see gtc_type_precision
379 using std::uint8_t;
380
381 /// Default qualifier 16 bit unsigned integer type.
382 /// @see gtc_type_precision
383 using std::uint16_t;
384
385 /// Default qualifier 32 bit unsigned integer type.
386 /// @see gtc_type_precision
387 using std::uint32_t;
388
389 /// Default qualifier 64 bit unsigned integer type.
390 /// @see gtc_type_precision
391 using std::uint64_t;
392
393 /// Default qualifier 8 bit unsigned integer type.
394 /// @see gtc_type_precision
395 typedef detail::uint8 u8;
396
397 /// Default qualifier 16 bit unsigned integer type.
398 /// @see gtc_type_precision
399 typedef detail::uint16 u16;
400
401 /// Default qualifier 32 bit unsigned integer type.
402 /// @see gtc_type_precision
403 typedef detail::uint32 u32;
404
405 /// Default qualifier 64 bit unsigned integer type.
406 /// @see gtc_type_precision
407 typedef detail::uint64 u64;
408
409
410
411
412
413 //////////////////////
414 // Float vector types
415
416 /// Single-qualifier floating-point scalar.
417 /// @see gtc_type_precision
418 typedef float float32;
419
420 /// Double-qualifier floating-point scalar.
421 /// @see gtc_type_precision
422 typedef double float64;
423
424 /// Low 32 bit single-qualifier floating-point scalar.
425 /// @see gtc_type_precision
426 typedef float32 lowp_float32;
427
428 /// Low 64 bit double-qualifier floating-point scalar.
429 /// @see gtc_type_precision
430 typedef float64 lowp_float64;
431
432 /// Low 32 bit single-qualifier floating-point scalar.
433 /// @see gtc_type_precision
434 typedef float32 lowp_float32_t;
435
436 /// Low 64 bit double-qualifier floating-point scalar.
437 /// @see gtc_type_precision
438 typedef float64 lowp_float64_t;
439
440 /// Low 32 bit single-qualifier floating-point scalar.
441 /// @see gtc_type_precision
442 typedef float32 lowp_f32;
443
444 /// Low 64 bit double-qualifier floating-point scalar.
445 /// @see gtc_type_precision
446 typedef float64 lowp_f64;
447
448 /// Low 32 bit single-qualifier floating-point scalar.
449 /// @see gtc_type_precision
450 typedef float32 lowp_float32;
451
452 /// Low 64 bit double-qualifier floating-point scalar.
453 /// @see gtc_type_precision
454 typedef float64 lowp_float64;
455
456 /// Low 32 bit single-qualifier floating-point scalar.
457 /// @see gtc_type_precision
458 typedef float32 lowp_float32_t;
459
460 /// Low 64 bit double-qualifier floating-point scalar.
461 /// @see gtc_type_precision
462 typedef float64 lowp_float64_t;
463
464 /// Low 32 bit single-qualifier floating-point scalar.
465 /// @see gtc_type_precision
466 typedef float32 lowp_f32;
467
468 /// Low 64 bit double-qualifier floating-point scalar.
469 /// @see gtc_type_precision
470 typedef float64 lowp_f64;
471
472
473 /// Low 32 bit single-qualifier floating-point scalar.
474 /// @see gtc_type_precision
475 typedef float32 lowp_float32;
476
477 /// Low 64 bit double-qualifier floating-point scalar.
478 /// @see gtc_type_precision
479 typedef float64 lowp_float64;
480
481 /// Low 32 bit single-qualifier floating-point scalar.
482 /// @see gtc_type_precision
483 typedef float32 lowp_float32_t;
484
485 /// Low 64 bit double-qualifier floating-point scalar.
486 /// @see gtc_type_precision
487 typedef float64 lowp_float64_t;
488
489 /// Low 32 bit single-qualifier floating-point scalar.
490 /// @see gtc_type_precision
491 typedef float32 lowp_f32;
492
493 /// Low 64 bit double-qualifier floating-point scalar.
494 /// @see gtc_type_precision
495 typedef float64 lowp_f64;
496
497
498 /// Medium 32 bit single-qualifier floating-point scalar.
499 /// @see gtc_type_precision
500 typedef float32 mediump_float32;
501
502 /// Medium 64 bit double-qualifier floating-point scalar.
503 /// @see gtc_type_precision
504 typedef float64 mediump_float64;
505
506 /// Medium 32 bit single-qualifier floating-point scalar.
507 /// @see gtc_type_precision
508 typedef float32 mediump_float32_t;
509
510 /// Medium 64 bit double-qualifier floating-point scalar.
511 /// @see gtc_type_precision
512 typedef float64 mediump_float64_t;
513
514 /// Medium 32 bit single-qualifier floating-point scalar.
515 /// @see gtc_type_precision
516 typedef float32 mediump_f32;
517
518 /// Medium 64 bit double-qualifier floating-point scalar.
519 /// @see gtc_type_precision
520 typedef float64 mediump_f64;
521
522
523 /// High 32 bit single-qualifier floating-point scalar.
524 /// @see gtc_type_precision
525 typedef float32 highp_float32;
526
527 /// High 64 bit double-qualifier floating-point scalar.
528 /// @see gtc_type_precision
529 typedef float64 highp_float64;
530
531 /// High 32 bit single-qualifier floating-point scalar.
532 /// @see gtc_type_precision
533 typedef float32 highp_float32_t;
534
535 /// High 64 bit double-qualifier floating-point scalar.
536 /// @see gtc_type_precision
537 typedef float64 highp_float64_t;
538
539 /// High 32 bit single-qualifier floating-point scalar.
540 /// @see gtc_type_precision
541 typedef float32 highp_f32;
542
543 /// High 64 bit double-qualifier floating-point scalar.
544 /// @see gtc_type_precision
545 typedef float64 highp_f64;
546
547
548#if(defined(GLM_PRECISION_LOWP_FLOAT))
549 /// Default 32 bit single-qualifier floating-point scalar.
550 /// @see gtc_type_precision
551 typedef lowp_float32_t float32_t;
552
553 /// Default 64 bit double-qualifier floating-point scalar.
554 /// @see gtc_type_precision
555 typedef lowp_float64_t float64_t;
556
557 /// Default 32 bit single-qualifier floating-point scalar.
558 /// @see gtc_type_precision
559 typedef lowp_f32 f32;
560
561 /// Default 64 bit double-qualifier floating-point scalar.
562 /// @see gtc_type_precision
563 typedef lowp_f64 f64;
564
565#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
566 /// Default 32 bit single-qualifier floating-point scalar.
567 /// @see gtc_type_precision
568 typedef mediump_float32 float32_t;
569
570 /// Default 64 bit double-qualifier floating-point scalar.
571 /// @see gtc_type_precision
572 typedef mediump_float64 float64_t;
573
574 /// Default 32 bit single-qualifier floating-point scalar.
575 /// @see gtc_type_precision
576 typedef mediump_float32 f32;
577
578 /// Default 64 bit double-qualifier floating-point scalar.
579 /// @see gtc_type_precision
580 typedef mediump_float64 f64;
581
582#else//(defined(GLM_PRECISION_HIGHP_FLOAT))
583
584 /// Default 32 bit single-qualifier floating-point scalar.
585 /// @see gtc_type_precision
586 typedef highp_float32_t float32_t;
587
588 /// Default 64 bit double-qualifier floating-point scalar.
589 /// @see gtc_type_precision
590 typedef highp_float64_t float64_t;
591
592 /// Default 32 bit single-qualifier floating-point scalar.
593 /// @see gtc_type_precision
594 typedef highp_float32_t f32;
595
596 /// Default 64 bit double-qualifier floating-point scalar.
597 /// @see gtc_type_precision
598 typedef highp_float64_t f64;
599#endif
600
601
602 /// Low single-qualifier floating-point vector of 1 component.
603 /// @see gtc_type_precision
604 typedef vec<1, float, lowp> lowp_fvec1;
605
606 /// Low single-qualifier floating-point vector of 2 components.
607 /// @see gtc_type_precision
608 typedef vec<2, float, lowp> lowp_fvec2;
609
610 /// Low single-qualifier floating-point vector of 3 components.
611 /// @see gtc_type_precision
612 typedef vec<3, float, lowp> lowp_fvec3;
613
614 /// Low single-qualifier floating-point vector of 4 components.
615 /// @see gtc_type_precision
616 typedef vec<4, float, lowp> lowp_fvec4;
617
618
619 /// Medium single-qualifier floating-point vector of 1 component.
620 /// @see gtc_type_precision
621 typedef vec<1, float, mediump> mediump_fvec1;
622
623 /// Medium Single-qualifier floating-point vector of 2 components.
624 /// @see gtc_type_precision
625 typedef vec<2, float, mediump> mediump_fvec2;
626
627 /// Medium Single-qualifier floating-point vector of 3 components.
628 /// @see gtc_type_precision
629 typedef vec<3, float, mediump> mediump_fvec3;
630
631 /// Medium Single-qualifier floating-point vector of 4 components.
632 /// @see gtc_type_precision
633 typedef vec<4, float, mediump> mediump_fvec4;
634
635
636 /// High single-qualifier floating-point vector of 1 component.
637 /// @see gtc_type_precision
638 typedef vec<1, float, highp> highp_fvec1;
639
640 /// High Single-qualifier floating-point vector of 2 components.
641 /// @see core_precision
642 typedef vec<2, float, highp> highp_fvec2;
643
644 /// High Single-qualifier floating-point vector of 3 components.
645 /// @see core_precision
646 typedef vec<3, float, highp> highp_fvec3;
647
648 /// High Single-qualifier floating-point vector of 4 components.
649 /// @see core_precision
650 typedef vec<4, float, highp> highp_fvec4;
651
652
653 /// Low single-qualifier floating-point vector of 1 component.
654 /// @see gtc_type_precision
655 typedef vec<1, f32, lowp> lowp_f32vec1;
656
657 /// Low single-qualifier floating-point vector of 2 components.
658 /// @see core_precision
659 typedef vec<2, f32, lowp> lowp_f32vec2;
660
661 /// Low single-qualifier floating-point vector of 3 components.
662 /// @see core_precision
663 typedef vec<3, f32, lowp> lowp_f32vec3;
664
665 /// Low single-qualifier floating-point vector of 4 components.
666 /// @see core_precision
667 typedef vec<4, f32, lowp> lowp_f32vec4;
668
669 /// Medium single-qualifier floating-point vector of 1 component.
670 /// @see gtc_type_precision
671 typedef vec<1, f32, mediump> mediump_f32vec1;
672
673 /// Medium single-qualifier floating-point vector of 2 components.
674 /// @see core_precision
675 typedef vec<2, f32, mediump> mediump_f32vec2;
676
677 /// Medium single-qualifier floating-point vector of 3 components.
678 /// @see core_precision
679 typedef vec<3, f32, mediump> mediump_f32vec3;
680
681 /// Medium single-qualifier floating-point vector of 4 components.
682 /// @see core_precision
683 typedef vec<4, f32, mediump> mediump_f32vec4;
684
685 /// High single-qualifier floating-point vector of 1 component.
686 /// @see gtc_type_precision
687 typedef vec<1, f32, highp> highp_f32vec1;
688
689 /// High single-qualifier floating-point vector of 2 components.
690 /// @see gtc_type_precision
691 typedef vec<2, f32, highp> highp_f32vec2;
692
693 /// High single-qualifier floating-point vector of 3 components.
694 /// @see gtc_type_precision
695 typedef vec<3, f32, highp> highp_f32vec3;
696
697 /// High single-qualifier floating-point vector of 4 components.
698 /// @see gtc_type_precision
699 typedef vec<4, f32, highp> highp_f32vec4;
700
701
702 /// Low double-qualifier floating-point vector of 1 component.
703 /// @see gtc_type_precision
704 typedef vec<1, f64, lowp> lowp_f64vec1;
705
706 /// Low double-qualifier floating-point vector of 2 components.
707 /// @see gtc_type_precision
708 typedef vec<2, f64, lowp> lowp_f64vec2;
709
710 /// Low double-qualifier floating-point vector of 3 components.
711 /// @see gtc_type_precision
712 typedef vec<3, f64, lowp> lowp_f64vec3;
713
714 /// Low double-qualifier floating-point vector of 4 components.
715 /// @see gtc_type_precision
716 typedef vec<4, f64, lowp> lowp_f64vec4;
717
718 /// Medium double-qualifier floating-point vector of 1 component.
719 /// @see gtc_type_precision
720 typedef vec<1, f64, mediump> mediump_f64vec1;
721
722 /// Medium double-qualifier floating-point vector of 2 components.
723 /// @see gtc_type_precision
724 typedef vec<2, f64, mediump> mediump_f64vec2;
725
726 /// Medium double-qualifier floating-point vector of 3 components.
727 /// @see gtc_type_precision
728 typedef vec<3, f64, mediump> mediump_f64vec3;
729
730 /// Medium double-qualifier floating-point vector of 4 components.
731 /// @see gtc_type_precision
732 typedef vec<4, f64, mediump> mediump_f64vec4;
733
734 /// High double-qualifier floating-point vector of 1 component.
735 /// @see gtc_type_precision
736 typedef vec<1, f64, highp> highp_f64vec1;
737
738 /// High double-qualifier floating-point vector of 2 components.
739 /// @see gtc_type_precision
740 typedef vec<2, f64, highp> highp_f64vec2;
741
742 /// High double-qualifier floating-point vector of 3 components.
743 /// @see gtc_type_precision
744 typedef vec<3, f64, highp> highp_f64vec3;
745
746 /// High double-qualifier floating-point vector of 4 components.
747 /// @see gtc_type_precision
748 typedef vec<4, f64, highp> highp_f64vec4;
749
750
751
752 //////////////////////
753 // Float matrix types
754
755 /// Low single-qualifier floating-point 1x1 matrix.
756 /// @see gtc_type_precision
757 //typedef lowp_f32 lowp_fmat1x1;
758
759 /// Low single-qualifier floating-point 2x2 matrix.
760 /// @see gtc_type_precision
761 typedef mat<2, 2, f32, lowp> lowp_fmat2x2;
762
763 /// Low single-qualifier floating-point 2x3 matrix.
764 /// @see gtc_type_precision
765 typedef mat<2, 3, f32, lowp> lowp_fmat2x3;
766
767 /// Low single-qualifier floating-point 2x4 matrix.
768 /// @see gtc_type_precision
769 typedef mat<2, 4, f32, lowp> lowp_fmat2x4;
770
771 /// Low single-qualifier floating-point 3x2 matrix.
772 /// @see gtc_type_precision
773 typedef mat<3, 2, f32, lowp> lowp_fmat3x2;
774
775 /// Low single-qualifier floating-point 3x3 matrix.
776 /// @see gtc_type_precision
777 typedef mat<3, 3, f32, lowp> lowp_fmat3x3;
778
779 /// Low single-qualifier floating-point 3x4 matrix.
780 /// @see gtc_type_precision
781 typedef mat<3, 4, f32, lowp> lowp_fmat3x4;
782
783 /// Low single-qualifier floating-point 4x2 matrix.
784 /// @see gtc_type_precision
785 typedef mat<4, 2, f32, lowp> lowp_fmat4x2;
786
787 /// Low single-qualifier floating-point 4x3 matrix.
788 /// @see gtc_type_precision
789 typedef mat<4, 3, f32, lowp> lowp_fmat4x3;
790
791 /// Low single-qualifier floating-point 4x4 matrix.
792 /// @see gtc_type_precision
793 typedef mat<4, 4, f32, lowp> lowp_fmat4x4;
794
795 /// Low single-qualifier floating-point 1x1 matrix.
796 /// @see gtc_type_precision
797 //typedef lowp_fmat1x1 lowp_fmat1;
798
799 /// Low single-qualifier floating-point 2x2 matrix.
800 /// @see gtc_type_precision
801 typedef lowp_fmat2x2 lowp_fmat2;
802
803 /// Low single-qualifier floating-point 3x3 matrix.
804 /// @see gtc_type_precision
805 typedef lowp_fmat3x3 lowp_fmat3;
806
807 /// Low single-qualifier floating-point 4x4 matrix.
808 /// @see gtc_type_precision
809 typedef lowp_fmat4x4 lowp_fmat4;
810
811
812 /// Medium single-qualifier floating-point 1x1 matrix.
813 /// @see gtc_type_precision
814 //typedef mediump_f32 mediump_fmat1x1;
815
816 /// Medium single-qualifier floating-point 2x2 matrix.
817 /// @see gtc_type_precision
818 typedef mat<2, 2, f32, mediump> mediump_fmat2x2;
819
820 /// Medium single-qualifier floating-point 2x3 matrix.
821 /// @see gtc_type_precision
822 typedef mat<2, 3, f32, mediump> mediump_fmat2x3;
823
824 /// Medium single-qualifier floating-point 2x4 matrix.
825 /// @see gtc_type_precision
826 typedef mat<2, 4, f32, mediump> mediump_fmat2x4;
827
828 /// Medium single-qualifier floating-point 3x2 matrix.
829 /// @see gtc_type_precision
830 typedef mat<3, 2, f32, mediump> mediump_fmat3x2;
831
832 /// Medium single-qualifier floating-point 3x3 matrix.
833 /// @see gtc_type_precision
834 typedef mat<3, 3, f32, mediump> mediump_fmat3x3;
835
836 /// Medium single-qualifier floating-point 3x4 matrix.
837 /// @see gtc_type_precision
838 typedef mat<3, 4, f32, mediump> mediump_fmat3x4;
839
840 /// Medium single-qualifier floating-point 4x2 matrix.
841 /// @see gtc_type_precision
842 typedef mat<4, 2, f32, mediump> mediump_fmat4x2;
843
844 /// Medium single-qualifier floating-point 4x3 matrix.
845 /// @see gtc_type_precision
846 typedef mat<4, 3, f32, mediump> mediump_fmat4x3;
847
848 /// Medium single-qualifier floating-point 4x4 matrix.
849 /// @see gtc_type_precision
850 typedef mat<4, 4, f32, mediump> mediump_fmat4x4;
851
852 /// Medium single-qualifier floating-point 1x1 matrix.
853 /// @see gtc_type_precision
854 //typedef mediump_fmat1x1 mediump_fmat1;
855
856 /// Medium single-qualifier floating-point 2x2 matrix.
857 /// @see gtc_type_precision
858 typedef mediump_fmat2x2 mediump_fmat2;
859
860 /// Medium single-qualifier floating-point 3x3 matrix.
861 /// @see gtc_type_precision
862 typedef mediump_fmat3x3 mediump_fmat3;
863
864 /// Medium single-qualifier floating-point 4x4 matrix.
865 /// @see gtc_type_precision
866 typedef mediump_fmat4x4 mediump_fmat4;
867
868
869 /// High single-qualifier floating-point 1x1 matrix.
870 /// @see gtc_type_precision
871 //typedef highp_f32 highp_fmat1x1;
872
873 /// High single-qualifier floating-point 2x2 matrix.
874 /// @see gtc_type_precision
875 typedef mat<2, 2, f32, highp> highp_fmat2x2;
876
877 /// High single-qualifier floating-point 2x3 matrix.
878 /// @see gtc_type_precision
879 typedef mat<2, 3, f32, highp> highp_fmat2x3;
880
881 /// High single-qualifier floating-point 2x4 matrix.
882 /// @see gtc_type_precision
883 typedef mat<2, 4, f32, highp> highp_fmat2x4;
884
885 /// High single-qualifier floating-point 3x2 matrix.
886 /// @see gtc_type_precision
887 typedef mat<3, 2, f32, highp> highp_fmat3x2;
888
889 /// High single-qualifier floating-point 3x3 matrix.
890 /// @see gtc_type_precision
891 typedef mat<3, 3, f32, highp> highp_fmat3x3;
892
893 /// High single-qualifier floating-point 3x4 matrix.
894 /// @see gtc_type_precision
895 typedef mat<3, 4, f32, highp> highp_fmat3x4;
896
897 /// High single-qualifier floating-point 4x2 matrix.
898 /// @see gtc_type_precision
899 typedef mat<4, 2, f32, highp> highp_fmat4x2;
900
901 /// High single-qualifier floating-point 4x3 matrix.
902 /// @see gtc_type_precision
903 typedef mat<4, 3, f32, highp> highp_fmat4x3;
904
905 /// High single-qualifier floating-point 4x4 matrix.
906 /// @see gtc_type_precision
907 typedef mat<4, 4, f32, highp> highp_fmat4x4;
908
909 /// High single-qualifier floating-point 1x1 matrix.
910 /// @see gtc_type_precision
911 //typedef highp_fmat1x1 highp_fmat1;
912
913 /// High single-qualifier floating-point 2x2 matrix.
914 /// @see gtc_type_precision
915 typedef highp_fmat2x2 highp_fmat2;
916
917 /// High single-qualifier floating-point 3x3 matrix.
918 /// @see gtc_type_precision
919 typedef highp_fmat3x3 highp_fmat3;
920
921 /// High single-qualifier floating-point 4x4 matrix.
922 /// @see gtc_type_precision
923 typedef highp_fmat4x4 highp_fmat4;
924
925
926 /// Low single-qualifier floating-point 1x1 matrix.
927 /// @see gtc_type_precision
928 //typedef f32 lowp_f32mat1x1;
929
930 /// Low single-qualifier floating-point 2x2 matrix.
931 /// @see gtc_type_precision
932 typedef mat<2, 2, f32, lowp> lowp_f32mat2x2;
933
934 /// Low single-qualifier floating-point 2x3 matrix.
935 /// @see gtc_type_precision
936 typedef mat<2, 3, f32, lowp> lowp_f32mat2x3;
937
938 /// Low single-qualifier floating-point 2x4 matrix.
939 /// @see gtc_type_precision
940 typedef mat<2, 4, f32, lowp> lowp_f32mat2x4;
941
942 /// Low single-qualifier floating-point 3x2 matrix.
943 /// @see gtc_type_precision
944 typedef mat<3, 2, f32, lowp> lowp_f32mat3x2;
945
946 /// Low single-qualifier floating-point 3x3 matrix.
947 /// @see gtc_type_precision
948 typedef mat<3, 3, f32, lowp> lowp_f32mat3x3;
949
950 /// Low single-qualifier floating-point 3x4 matrix.
951 /// @see gtc_type_precision
952 typedef mat<3, 4, f32, lowp> lowp_f32mat3x4;
953
954 /// Low single-qualifier floating-point 4x2 matrix.
955 /// @see gtc_type_precision
956 typedef mat<4, 2, f32, lowp> lowp_f32mat4x2;
957
958 /// Low single-qualifier floating-point 4x3 matrix.
959 /// @see gtc_type_precision
960 typedef mat<4, 3, f32, lowp> lowp_f32mat4x3;
961
962 /// Low single-qualifier floating-point 4x4 matrix.
963 /// @see gtc_type_precision
964 typedef mat<4, 4, f32, lowp> lowp_f32mat4x4;
965
966 /// Low single-qualifier floating-point 1x1 matrix.
967 /// @see gtc_type_precision
968 //typedef detail::tmat1x1<f32, lowp> lowp_f32mat1;
969
970 /// Low single-qualifier floating-point 2x2 matrix.
971 /// @see gtc_type_precision
972 typedef lowp_f32mat2x2 lowp_f32mat2;
973
974 /// Low single-qualifier floating-point 3x3 matrix.
975 /// @see gtc_type_precision
976 typedef lowp_f32mat3x3 lowp_f32mat3;
977
978 /// Low single-qualifier floating-point 4x4 matrix.
979 /// @see gtc_type_precision
980 typedef lowp_f32mat4x4 lowp_f32mat4;
981
982
983 /// High single-qualifier floating-point 1x1 matrix.
984 /// @see gtc_type_precision
985 //typedef f32 mediump_f32mat1x1;
986
987 /// Low single-qualifier floating-point 2x2 matrix.
988 /// @see gtc_type_precision
989 typedef mat<2, 2, f32, mediump> mediump_f32mat2x2;
990
991 /// Medium single-qualifier floating-point 2x3 matrix.
992 /// @see gtc_type_precision
993 typedef mat<2, 3, f32, mediump> mediump_f32mat2x3;
994
995 /// Medium single-qualifier floating-point 2x4 matrix.
996 /// @see gtc_type_precision
997 typedef mat<2, 4, f32, mediump> mediump_f32mat2x4;
998
999 /// Medium single-qualifier floating-point 3x2 matrix.
1000 /// @see gtc_type_precision
1001 typedef mat<3, 2, f32, mediump> mediump_f32mat3x2;
1002
1003 /// Medium single-qualifier floating-point 3x3 matrix.
1004 /// @see gtc_type_precision
1005 typedef mat<3, 3, f32, mediump> mediump_f32mat3x3;
1006
1007 /// Medium single-qualifier floating-point 3x4 matrix.
1008 /// @see gtc_type_precision
1009 typedef mat<3, 4, f32, mediump> mediump_f32mat3x4;
1010
1011 /// Medium single-qualifier floating-point 4x2 matrix.
1012 /// @see gtc_type_precision
1013 typedef mat<4, 2, f32, mediump> mediump_f32mat4x2;
1014
1015 /// Medium single-qualifier floating-point 4x3 matrix.
1016 /// @see gtc_type_precision
1017 typedef mat<4, 3, f32, mediump> mediump_f32mat4x3;
1018
1019 /// Medium single-qualifier floating-point 4x4 matrix.
1020 /// @see gtc_type_precision
1021 typedef mat<4, 4, f32, mediump> mediump_f32mat4x4;
1022
1023 /// Medium single-qualifier floating-point 1x1 matrix.
1024 /// @see gtc_type_precision
1025 //typedef detail::tmat1x1<f32, mediump> f32mat1;
1026
1027 /// Medium single-qualifier floating-point 2x2 matrix.
1028 /// @see gtc_type_precision
1029 typedef mediump_f32mat2x2 mediump_f32mat2;
1030
1031 /// Medium single-qualifier floating-point 3x3 matrix.
1032 /// @see gtc_type_precision
1033 typedef mediump_f32mat3x3 mediump_f32mat3;
1034
1035 /// Medium single-qualifier floating-point 4x4 matrix.
1036 /// @see gtc_type_precision
1037 typedef mediump_f32mat4x4 mediump_f32mat4;
1038
1039
1040 /// High single-qualifier floating-point 1x1 matrix.
1041 /// @see gtc_type_precision
1042 //typedef f32 highp_f32mat1x1;
1043
1044 /// High single-qualifier floating-point 2x2 matrix.
1045 /// @see gtc_type_precision
1046 typedef mat<2, 2, f32, highp> highp_f32mat2x2;
1047
1048 /// High single-qualifier floating-point 2x3 matrix.
1049 /// @see gtc_type_precision
1050 typedef mat<2, 3, f32, highp> highp_f32mat2x3;
1051
1052 /// High single-qualifier floating-point 2x4 matrix.
1053 /// @see gtc_type_precision
1054 typedef mat<2, 4, f32, highp> highp_f32mat2x4;
1055
1056 /// High single-qualifier floating-point 3x2 matrix.
1057 /// @see gtc_type_precision
1058 typedef mat<3, 2, f32, highp> highp_f32mat3x2;
1059
1060 /// High single-qualifier floating-point 3x3 matrix.
1061 /// @see gtc_type_precision
1062 typedef mat<3, 3, f32, highp> highp_f32mat3x3;
1063
1064 /// High single-qualifier floating-point 3x4 matrix.
1065 /// @see gtc_type_precision
1066 typedef mat<3, 4, f32, highp> highp_f32mat3x4;
1067
1068 /// High single-qualifier floating-point 4x2 matrix.
1069 /// @see gtc_type_precision
1070 typedef mat<4, 2, f32, highp> highp_f32mat4x2;
1071
1072 /// High single-qualifier floating-point 4x3 matrix.
1073 /// @see gtc_type_precision
1074 typedef mat<4, 3, f32, highp> highp_f32mat4x3;
1075
1076 /// High single-qualifier floating-point 4x4 matrix.
1077 /// @see gtc_type_precision
1078 typedef mat<4, 4, f32, highp> highp_f32mat4x4;
1079
1080 /// High single-qualifier floating-point 1x1 matrix.
1081 /// @see gtc_type_precision
1082 //typedef detail::tmat1x1<f32, highp> f32mat1;
1083
1084 /// High single-qualifier floating-point 2x2 matrix.
1085 /// @see gtc_type_precision
1086 typedef highp_f32mat2x2 highp_f32mat2;
1087
1088 /// High single-qualifier floating-point 3x3 matrix.
1089 /// @see gtc_type_precision
1090 typedef highp_f32mat3x3 highp_f32mat3;
1091
1092 /// High single-qualifier floating-point 4x4 matrix.
1093 /// @see gtc_type_precision
1094 typedef highp_f32mat4x4 highp_f32mat4;
1095
1096
1097 /// Low double-qualifier floating-point 1x1 matrix.
1098 /// @see gtc_type_precision
1099 //typedef f64 lowp_f64mat1x1;
1100
1101 /// Low double-qualifier floating-point 2x2 matrix.
1102 /// @see gtc_type_precision
1103 typedef mat<2, 2, f64, lowp> lowp_f64mat2x2;
1104
1105 /// Low double-qualifier floating-point 2x3 matrix.
1106 /// @see gtc_type_precision
1107 typedef mat<2, 3, f64, lowp> lowp_f64mat2x3;
1108
1109 /// Low double-qualifier floating-point 2x4 matrix.
1110 /// @see gtc_type_precision
1111 typedef mat<2, 4, f64, lowp> lowp_f64mat2x4;
1112
1113 /// Low double-qualifier floating-point 3x2 matrix.
1114 /// @see gtc_type_precision
1115 typedef mat<3, 2, f64, lowp> lowp_f64mat3x2;
1116
1117 /// Low double-qualifier floating-point 3x3 matrix.
1118 /// @see gtc_type_precision
1119 typedef mat<3, 3, f64, lowp> lowp_f64mat3x3;
1120
1121 /// Low double-qualifier floating-point 3x4 matrix.
1122 /// @see gtc_type_precision
1123 typedef mat<3, 4, f64, lowp> lowp_f64mat3x4;
1124
1125 /// Low double-qualifier floating-point 4x2 matrix.
1126 /// @see gtc_type_precision
1127 typedef mat<4, 2, f64, lowp> lowp_f64mat4x2;
1128
1129 /// Low double-qualifier floating-point 4x3 matrix.
1130 /// @see gtc_type_precision
1131 typedef mat<4, 3, f64, lowp> lowp_f64mat4x3;
1132
1133 /// Low double-qualifier floating-point 4x4 matrix.
1134 /// @see gtc_type_precision
1135 typedef mat<4, 4, f64, lowp> lowp_f64mat4x4;
1136
1137 /// Low double-qualifier floating-point 1x1 matrix.
1138 /// @see gtc_type_precision
1139 //typedef lowp_f64mat1x1 lowp_f64mat1;
1140
1141 /// Low double-qualifier floating-point 2x2 matrix.
1142 /// @see gtc_type_precision
1143 typedef lowp_f64mat2x2 lowp_f64mat2;
1144
1145 /// Low double-qualifier floating-point 3x3 matrix.
1146 /// @see gtc_type_precision
1147 typedef lowp_f64mat3x3 lowp_f64mat3;
1148
1149 /// Low double-qualifier floating-point 4x4 matrix.
1150 /// @see gtc_type_precision
1151 typedef lowp_f64mat4x4 lowp_f64mat4;
1152
1153
1154 /// Medium double-qualifier floating-point 1x1 matrix.
1155 /// @see gtc_type_precision
1156 //typedef f64 Highp_f64mat1x1;
1157
1158 /// Medium double-qualifier floating-point 2x2 matrix.
1159 /// @see gtc_type_precision
1160 typedef mat<2, 2, f64, mediump> mediump_f64mat2x2;
1161
1162 /// Medium double-qualifier floating-point 2x3 matrix.
1163 /// @see gtc_type_precision
1164 typedef mat<2, 3, f64, mediump> mediump_f64mat2x3;
1165
1166 /// Medium double-qualifier floating-point 2x4 matrix.
1167 /// @see gtc_type_precision
1168 typedef mat<2, 4, f64, mediump> mediump_f64mat2x4;
1169
1170 /// Medium double-qualifier floating-point 3x2 matrix.
1171 /// @see gtc_type_precision
1172 typedef mat<3, 2, f64, mediump> mediump_f64mat3x2;
1173
1174 /// Medium double-qualifier floating-point 3x3 matrix.
1175 /// @see gtc_type_precision
1176 typedef mat<3, 3, f64, mediump> mediump_f64mat3x3;
1177
1178 /// Medium double-qualifier floating-point 3x4 matrix.
1179 /// @see gtc_type_precision
1180 typedef mat<3, 4, f64, mediump> mediump_f64mat3x4;
1181
1182 /// Medium double-qualifier floating-point 4x2 matrix.
1183 /// @see gtc_type_precision
1184 typedef mat<4, 2, f64, mediump> mediump_f64mat4x2;
1185
1186 /// Medium double-qualifier floating-point 4x3 matrix.
1187 /// @see gtc_type_precision
1188 typedef mat<4, 3, f64, mediump> mediump_f64mat4x3;
1189
1190 /// Medium double-qualifier floating-point 4x4 matrix.
1191 /// @see gtc_type_precision
1192 typedef mat<4, 4, f64, mediump> mediump_f64mat4x4;
1193
1194 /// Medium double-qualifier floating-point 1x1 matrix.
1195 /// @see gtc_type_precision
1196 //typedef mediump_f64mat1x1 mediump_f64mat1;
1197
1198 /// Medium double-qualifier floating-point 2x2 matrix.
1199 /// @see gtc_type_precision
1200 typedef mediump_f64mat2x2 mediump_f64mat2;
1201
1202 /// Medium double-qualifier floating-point 3x3 matrix.
1203 /// @see gtc_type_precision
1204 typedef mediump_f64mat3x3 mediump_f64mat3;
1205
1206 /// Medium double-qualifier floating-point 4x4 matrix.
1207 /// @see gtc_type_precision
1208 typedef mediump_f64mat4x4 mediump_f64mat4;
1209
1210 /// High double-qualifier floating-point 1x1 matrix.
1211 /// @see gtc_type_precision
1212 //typedef f64 highp_f64mat1x1;
1213
1214 /// High double-qualifier floating-point 2x2 matrix.
1215 /// @see gtc_type_precision
1216 typedef mat<2, 2, f64, highp> highp_f64mat2x2;
1217
1218 /// High double-qualifier floating-point 2x3 matrix.
1219 /// @see gtc_type_precision
1220 typedef mat<2, 3, f64, highp> highp_f64mat2x3;
1221
1222 /// High double-qualifier floating-point 2x4 matrix.
1223 /// @see gtc_type_precision
1224 typedef mat<2, 4, f64, highp> highp_f64mat2x4;
1225
1226 /// High double-qualifier floating-point 3x2 matrix.
1227 /// @see gtc_type_precision
1228 typedef mat<3, 2, f64, highp> highp_f64mat3x2;
1229
1230 /// High double-qualifier floating-point 3x3 matrix.
1231 /// @see gtc_type_precision
1232 typedef mat<3, 3, f64, highp> highp_f64mat3x3;
1233
1234 /// High double-qualifier floating-point 3x4 matrix.
1235 /// @see gtc_type_precision
1236 typedef mat<3, 4, f64, highp> highp_f64mat3x4;
1237
1238 /// High double-qualifier floating-point 4x2 matrix.
1239 /// @see gtc_type_precision
1240 typedef mat<4, 2, f64, highp> highp_f64mat4x2;
1241
1242 /// High double-qualifier floating-point 4x3 matrix.
1243 /// @see gtc_type_precision
1244 typedef mat<4, 3, f64, highp> highp_f64mat4x3;
1245
1246 /// High double-qualifier floating-point 4x4 matrix.
1247 /// @see gtc_type_precision
1248 typedef mat<4, 4, f64, highp> highp_f64mat4x4;
1249
1250 /// High double-qualifier floating-point 1x1 matrix.
1251 /// @see gtc_type_precision
1252 //typedef highp_f64mat1x1 highp_f64mat1;
1253
1254 /// High double-qualifier floating-point 2x2 matrix.
1255 /// @see gtc_type_precision
1256 typedef highp_f64mat2x2 highp_f64mat2;
1257
1258 /// High double-qualifier floating-point 3x3 matrix.
1259 /// @see gtc_type_precision
1260 typedef highp_f64mat3x3 highp_f64mat3;
1261
1262 /// High double-qualifier floating-point 4x4 matrix.
1263 /// @see gtc_type_precision
1264 typedef highp_f64mat4x4 highp_f64mat4;
1265
1266
1267 /////////////////////////////
1268 // Signed int vector types
1269
1270 /// Low qualifier signed integer vector of 1 component type.
1271 /// @see gtc_type_precision
1272 typedef vec<1, int, lowp> lowp_ivec1;
1273
1274 /// Low qualifier signed integer vector of 2 components type.
1275 /// @see gtc_type_precision
1276 typedef vec<2, int, lowp> lowp_ivec2;
1277
1278 /// Low qualifier signed integer vector of 3 components type.
1279 /// @see gtc_type_precision
1280 typedef vec<3, int, lowp> lowp_ivec3;
1281
1282 /// Low qualifier signed integer vector of 4 components type.
1283 /// @see gtc_type_precision
1284 typedef vec<4, int, lowp> lowp_ivec4;
1285
1286
1287 /// Medium qualifier signed integer vector of 1 component type.
1288 /// @see gtc_type_precision
1289 typedef vec<1, int, mediump> mediump_ivec1;
1290
1291 /// Medium qualifier signed integer vector of 2 components type.
1292 /// @see gtc_type_precision
1293 typedef vec<2, int, mediump> mediump_ivec2;
1294
1295 /// Medium qualifier signed integer vector of 3 components type.
1296 /// @see gtc_type_precision
1297 typedef vec<3, int, mediump> mediump_ivec3;
1298
1299 /// Medium qualifier signed integer vector of 4 components type.
1300 /// @see gtc_type_precision
1301 typedef vec<4, int, mediump> mediump_ivec4;
1302
1303
1304 /// High qualifier signed integer vector of 1 component type.
1305 /// @see gtc_type_precision
1306 typedef vec<1, int, highp> highp_ivec1;
1307
1308 /// High qualifier signed integer vector of 2 components type.
1309 /// @see gtc_type_precision
1310 typedef vec<2, int, highp> highp_ivec2;
1311
1312 /// High qualifier signed integer vector of 3 components type.
1313 /// @see gtc_type_precision
1314 typedef vec<3, int, highp> highp_ivec3;
1315
1316 /// High qualifier signed integer vector of 4 components type.
1317 /// @see gtc_type_precision
1318 typedef vec<4, int, highp> highp_ivec4;
1319
1320
1321 /// Low qualifier 8 bit signed integer vector of 1 component type.
1322 /// @see gtc_type_precision
1323 typedef vec<1, i8, lowp> lowp_i8vec1;
1324
1325 /// Low qualifier 8 bit signed integer vector of 2 components type.
1326 /// @see gtc_type_precision
1327 typedef vec<2, i8, lowp> lowp_i8vec2;
1328
1329 /// Low qualifier 8 bit signed integer vector of 3 components type.
1330 /// @see gtc_type_precision
1331 typedef vec<3, i8, lowp> lowp_i8vec3;
1332
1333 /// Low qualifier 8 bit signed integer vector of 4 components type.
1334 /// @see gtc_type_precision
1335 typedef vec<4, i8, lowp> lowp_i8vec4;
1336
1337
1338 /// Medium qualifier 8 bit signed integer scalar type.
1339 /// @see gtc_type_precision
1340 typedef vec<1, i8, mediump> mediump_i8vec1;
1341
1342 /// Medium qualifier 8 bit signed integer vector of 2 components type.
1343 /// @see gtc_type_precision
1344 typedef vec<2, i8, mediump> mediump_i8vec2;
1345
1346 /// Medium qualifier 8 bit signed integer vector of 3 components type.
1347 /// @see gtc_type_precision
1348 typedef vec<3, i8, mediump> mediump_i8vec3;
1349
1350 /// Medium qualifier 8 bit signed integer vector of 4 components type.
1351 /// @see gtc_type_precision
1352 typedef vec<4, i8, mediump> mediump_i8vec4;
1353
1354
1355 /// High qualifier 8 bit signed integer scalar type.
1356 /// @see gtc_type_precision
1357 typedef vec<1, i8, highp> highp_i8vec1;
1358
1359 /// High qualifier 8 bit signed integer vector of 2 components type.
1360 /// @see gtc_type_precision
1361 typedef vec<2, i8, highp> highp_i8vec2;
1362
1363 /// High qualifier 8 bit signed integer vector of 3 components type.
1364 /// @see gtc_type_precision
1365 typedef vec<3, i8, highp> highp_i8vec3;
1366
1367 /// High qualifier 8 bit signed integer vector of 4 components type.
1368 /// @see gtc_type_precision
1369 typedef vec<4, i8, highp> highp_i8vec4;
1370
1371
1372 /// Low qualifier 16 bit signed integer scalar type.
1373 /// @see gtc_type_precision
1374 typedef vec<1, i16, lowp> lowp_i16vec1;
1375
1376 /// Low qualifier 16 bit signed integer vector of 2 components type.
1377 /// @see gtc_type_precision
1378 typedef vec<2, i16, lowp> lowp_i16vec2;
1379
1380 /// Low qualifier 16 bit signed integer vector of 3 components type.
1381 /// @see gtc_type_precision
1382 typedef vec<3, i16, lowp> lowp_i16vec3;
1383
1384 /// Low qualifier 16 bit signed integer vector of 4 components type.
1385 /// @see gtc_type_precision
1386 typedef vec<4, i16, lowp> lowp_i16vec4;
1387
1388
1389 /// Medium qualifier 16 bit signed integer scalar type.
1390 /// @see gtc_type_precision
1391 typedef vec<1, i16, mediump> mediump_i16vec1;
1392
1393 /// Medium qualifier 16 bit signed integer vector of 2 components type.
1394 /// @see gtc_type_precision
1395 typedef vec<2, i16, mediump> mediump_i16vec2;
1396
1397 /// Medium qualifier 16 bit signed integer vector of 3 components type.
1398 /// @see gtc_type_precision
1399 typedef vec<3, i16, mediump> mediump_i16vec3;
1400
1401 /// Medium qualifier 16 bit signed integer vector of 4 components type.
1402 /// @see gtc_type_precision
1403 typedef vec<4, i16, mediump> mediump_i16vec4;
1404
1405
1406 /// High qualifier 16 bit signed integer scalar type.
1407 /// @see gtc_type_precision
1408 typedef vec<1, i16, highp> highp_i16vec1;
1409
1410 /// High qualifier 16 bit signed integer vector of 2 components type.
1411 /// @see gtc_type_precision
1412 typedef vec<2, i16, highp> highp_i16vec2;
1413
1414 /// High qualifier 16 bit signed integer vector of 3 components type.
1415 /// @see gtc_type_precision
1416 typedef vec<3, i16, highp> highp_i16vec3;
1417
1418 /// High qualifier 16 bit signed integer vector of 4 components type.
1419 /// @see gtc_type_precision
1420 typedef vec<4, i16, highp> highp_i16vec4;
1421
1422
1423 /// Low qualifier 32 bit signed integer scalar type.
1424 /// @see gtc_type_precision
1425 typedef vec<1, i32, lowp> lowp_i32vec1;
1426
1427 /// Low qualifier 32 bit signed integer vector of 2 components type.
1428 /// @see gtc_type_precision
1429 typedef vec<2, i32, lowp> lowp_i32vec2;
1430
1431 /// Low qualifier 32 bit signed integer vector of 3 components type.
1432 /// @see gtc_type_precision
1433 typedef vec<3, i32, lowp> lowp_i32vec3;
1434
1435 /// Low qualifier 32 bit signed integer vector of 4 components type.
1436 /// @see gtc_type_precision
1437 typedef vec<4, i32, lowp> lowp_i32vec4;
1438
1439
1440 /// Medium qualifier 32 bit signed integer scalar type.
1441 /// @see gtc_type_precision
1442 typedef vec<1, i32, mediump> mediump_i32vec1;
1443
1444 /// Medium qualifier 32 bit signed integer vector of 2 components type.
1445 /// @see gtc_type_precision
1446 typedef vec<2, i32, mediump> mediump_i32vec2;
1447
1448 /// Medium qualifier 32 bit signed integer vector of 3 components type.
1449 /// @see gtc_type_precision
1450 typedef vec<3, i32, mediump> mediump_i32vec3;
1451
1452 /// Medium qualifier 32 bit signed integer vector of 4 components type.
1453 /// @see gtc_type_precision
1454 typedef vec<4, i32, mediump> mediump_i32vec4;
1455
1456
1457 /// High qualifier 32 bit signed integer scalar type.
1458 /// @see gtc_type_precision
1459 typedef vec<1, i32, highp> highp_i32vec1;
1460
1461 /// High qualifier 32 bit signed integer vector of 2 components type.
1462 /// @see gtc_type_precision
1463 typedef vec<2, i32, highp> highp_i32vec2;
1464
1465 /// High qualifier 32 bit signed integer vector of 3 components type.
1466 /// @see gtc_type_precision
1467 typedef vec<3, i32, highp> highp_i32vec3;
1468
1469 /// High qualifier 32 bit signed integer vector of 4 components type.
1470 /// @see gtc_type_precision
1471 typedef vec<4, i32, highp> highp_i32vec4;
1472
1473
1474 /// Low qualifier 64 bit signed integer scalar type.
1475 /// @see gtc_type_precision
1476 typedef vec<1, i64, lowp> lowp_i64vec1;
1477
1478 /// Low qualifier 64 bit signed integer vector of 2 components type.
1479 /// @see gtc_type_precision
1480 typedef vec<2, i64, lowp> lowp_i64vec2;
1481
1482 /// Low qualifier 64 bit signed integer vector of 3 components type.
1483 /// @see gtc_type_precision
1484 typedef vec<3, i64, lowp> lowp_i64vec3;
1485
1486 /// Low qualifier 64 bit signed integer vector of 4 components type.
1487 /// @see gtc_type_precision
1488 typedef vec<4, i64, lowp> lowp_i64vec4;
1489
1490
1491 /// Medium qualifier 64 bit signed integer scalar type.
1492 /// @see gtc_type_precision
1493 typedef vec<1, i64, mediump> mediump_i64vec1;
1494
1495 /// Medium qualifier 64 bit signed integer vector of 2 components type.
1496 /// @see gtc_type_precision
1497 typedef vec<2, i64, mediump> mediump_i64vec2;
1498
1499 /// Medium qualifier 64 bit signed integer vector of 3 components type.
1500 /// @see gtc_type_precision
1501 typedef vec<3, i64, mediump> mediump_i64vec3;
1502
1503 /// Medium qualifier 64 bit signed integer vector of 4 components type.
1504 /// @see gtc_type_precision
1505 typedef vec<4, i64, mediump> mediump_i64vec4;
1506
1507
1508 /// High qualifier 64 bit signed integer scalar type.
1509 /// @see gtc_type_precision
1510 typedef vec<1, i64, highp> highp_i64vec1;
1511
1512 /// High qualifier 64 bit signed integer vector of 2 components type.
1513 /// @see gtc_type_precision
1514 typedef vec<2, i64, highp> highp_i64vec2;
1515
1516 /// High qualifier 64 bit signed integer vector of 3 components type.
1517 /// @see gtc_type_precision
1518 typedef vec<3, i64, highp> highp_i64vec3;
1519
1520 /// High qualifier 64 bit signed integer vector of 4 components type.
1521 /// @see gtc_type_precision
1522 typedef vec<4, i64, highp> highp_i64vec4;
1523
1524
1525 /////////////////////////////
1526 // Unsigned int vector types
1527
1528 /// Low qualifier unsigned integer vector of 1 component type.
1529 /// @see gtc_type_precision
1530 typedef vec<1, uint, lowp> lowp_uvec1;
1531
1532 /// Low qualifier unsigned integer vector of 2 components type.
1533 /// @see gtc_type_precision
1534 typedef vec<2, uint, lowp> lowp_uvec2;
1535
1536 /// Low qualifier unsigned integer vector of 3 components type.
1537 /// @see gtc_type_precision
1538 typedef vec<3, uint, lowp> lowp_uvec3;
1539
1540 /// Low qualifier unsigned integer vector of 4 components type.
1541 /// @see gtc_type_precision
1542 typedef vec<4, uint, lowp> lowp_uvec4;
1543
1544
1545 /// Medium qualifier unsigned integer vector of 1 component type.
1546 /// @see gtc_type_precision
1547 typedef vec<1, uint, mediump> mediump_uvec1;
1548
1549 /// Medium qualifier unsigned integer vector of 2 components type.
1550 /// @see gtc_type_precision
1551 typedef vec<2, uint, mediump> mediump_uvec2;
1552
1553 /// Medium qualifier unsigned integer vector of 3 components type.
1554 /// @see gtc_type_precision
1555 typedef vec<3, uint, mediump> mediump_uvec3;
1556
1557 /// Medium qualifier unsigned integer vector of 4 components type.
1558 /// @see gtc_type_precision
1559 typedef vec<4, uint, mediump> mediump_uvec4;
1560
1561
1562 /// High qualifier unsigned integer vector of 1 component type.
1563 /// @see gtc_type_precision
1564 typedef vec<1, uint, highp> highp_uvec1;
1565
1566 /// High qualifier unsigned integer vector of 2 components type.
1567 /// @see gtc_type_precision
1568 typedef vec<2, uint, highp> highp_uvec2;
1569
1570 /// High qualifier unsigned integer vector of 3 components type.
1571 /// @see gtc_type_precision
1572 typedef vec<3, uint, highp> highp_uvec3;
1573
1574 /// High qualifier unsigned integer vector of 4 components type.
1575 /// @see gtc_type_precision
1576 typedef vec<4, uint, highp> highp_uvec4;
1577
1578
1579 /// Low qualifier 8 bit unsigned integer scalar type.
1580 /// @see gtc_type_precision
1581 typedef vec<1, u8, lowp> lowp_u8vec1;
1582
1583 /// Low qualifier 8 bit unsigned integer vector of 2 components type.
1584 /// @see gtc_type_precision
1585 typedef vec<2, u8, lowp> lowp_u8vec2;
1586
1587 /// Low qualifier 8 bit unsigned integer vector of 3 components type.
1588 /// @see gtc_type_precision
1589 typedef vec<3, u8, lowp> lowp_u8vec3;
1590
1591 /// Low qualifier 8 bit unsigned integer vector of 4 components type.
1592 /// @see gtc_type_precision
1593 typedef vec<4, u8, lowp> lowp_u8vec4;
1594
1595
1596 /// Medium qualifier 8 bit unsigned integer scalar type.
1597 /// @see gtc_type_precision
1598 typedef vec<1, u8, mediump> mediump_u8vec1;
1599
1600 /// Medium qualifier 8 bit unsigned integer vector of 2 components type.
1601 /// @see gtc_type_precision
1602 typedef vec<2, u8, mediump> mediump_u8vec2;
1603
1604 /// Medium qualifier 8 bit unsigned integer vector of 3 components type.
1605 /// @see gtc_type_precision
1606 typedef vec<3, u8, mediump> mediump_u8vec3;
1607
1608 /// Medium qualifier 8 bit unsigned integer vector of 4 components type.
1609 /// @see gtc_type_precision
1610 typedef vec<4, u8, mediump> mediump_u8vec4;
1611
1612
1613 /// High qualifier 8 bit unsigned integer scalar type.
1614 /// @see gtc_type_precision
1615 typedef vec<1, u8, highp> highp_u8vec1;
1616
1617 /// High qualifier 8 bit unsigned integer vector of 2 components type.
1618 /// @see gtc_type_precision
1619 typedef vec<2, u8, highp> highp_u8vec2;
1620
1621 /// High qualifier 8 bit unsigned integer vector of 3 components type.
1622 /// @see gtc_type_precision
1623 typedef vec<3, u8, highp> highp_u8vec3;
1624
1625 /// High qualifier 8 bit unsigned integer vector of 4 components type.
1626 /// @see gtc_type_precision
1627 typedef vec<4, u8, highp> highp_u8vec4;
1628
1629
1630 /// Low qualifier 16 bit unsigned integer scalar type.
1631 /// @see gtc_type_precision
1632 typedef vec<1, u16, lowp> lowp_u16vec1;
1633
1634 /// Low qualifier 16 bit unsigned integer vector of 2 components type.
1635 /// @see gtc_type_precision
1636 typedef vec<2, u16, lowp> lowp_u16vec2;
1637
1638 /// Low qualifier 16 bit unsigned integer vector of 3 components type.
1639 /// @see gtc_type_precision
1640 typedef vec<3, u16, lowp> lowp_u16vec3;
1641
1642 /// Low qualifier 16 bit unsigned integer vector of 4 components type.
1643 /// @see gtc_type_precision
1644 typedef vec<4, u16, lowp> lowp_u16vec4;
1645
1646
1647 /// Medium qualifier 16 bit unsigned integer scalar type.
1648 /// @see gtc_type_precision
1649 typedef vec<1, u16, mediump> mediump_u16vec1;
1650
1651 /// Medium qualifier 16 bit unsigned integer vector of 2 components type.
1652 /// @see gtc_type_precision
1653 typedef vec<2, u16, mediump> mediump_u16vec2;
1654
1655 /// Medium qualifier 16 bit unsigned integer vector of 3 components type.
1656 /// @see gtc_type_precision
1657 typedef vec<3, u16, mediump> mediump_u16vec3;
1658
1659 /// Medium qualifier 16 bit unsigned integer vector of 4 components type.
1660 /// @see gtc_type_precision
1661 typedef vec<4, u16, mediump> mediump_u16vec4;
1662
1663
1664 /// High qualifier 16 bit unsigned integer scalar type.
1665 /// @see gtc_type_precision
1666 typedef vec<1, u16, highp> highp_u16vec1;
1667
1668 /// High qualifier 16 bit unsigned integer vector of 2 components type.
1669 /// @see gtc_type_precision
1670 typedef vec<2, u16, highp> highp_u16vec2;
1671
1672 /// High qualifier 16 bit unsigned integer vector of 3 components type.
1673 /// @see gtc_type_precision
1674 typedef vec<3, u16, highp> highp_u16vec3;
1675
1676 /// High qualifier 16 bit unsigned integer vector of 4 components type.
1677 /// @see gtc_type_precision
1678 typedef vec<4, u16, highp> highp_u16vec4;
1679
1680
1681 /// Low qualifier 32 bit unsigned integer scalar type.
1682 /// @see gtc_type_precision
1683 typedef vec<1, u32, lowp> lowp_u32vec1;
1684
1685 /// Low qualifier 32 bit unsigned integer vector of 2 components type.
1686 /// @see gtc_type_precision
1687 typedef vec<2, u32, lowp> lowp_u32vec2;
1688
1689 /// Low qualifier 32 bit unsigned integer vector of 3 components type.
1690 /// @see gtc_type_precision
1691 typedef vec<3, u32, lowp> lowp_u32vec3;
1692
1693 /// Low qualifier 32 bit unsigned integer vector of 4 components type.
1694 /// @see gtc_type_precision
1695 typedef vec<4, u32, lowp> lowp_u32vec4;
1696
1697
1698 /// Medium qualifier 32 bit unsigned integer scalar type.
1699 /// @see gtc_type_precision
1700 typedef vec<1, u32, mediump> mediump_u32vec1;
1701
1702 /// Medium qualifier 32 bit unsigned integer vector of 2 components type.
1703 /// @see gtc_type_precision
1704 typedef vec<2, u32, mediump> mediump_u32vec2;
1705
1706 /// Medium qualifier 32 bit unsigned integer vector of 3 components type.
1707 /// @see gtc_type_precision
1708 typedef vec<3, u32, mediump> mediump_u32vec3;
1709
1710 /// Medium qualifier 32 bit unsigned integer vector of 4 components type.
1711 /// @see gtc_type_precision
1712 typedef vec<4, u32, mediump> mediump_u32vec4;
1713
1714
1715 /// High qualifier 32 bit unsigned integer scalar type.
1716 /// @see gtc_type_precision
1717 typedef vec<1, u32, highp> highp_u32vec1;
1718
1719 /// High qualifier 32 bit unsigned integer vector of 2 components type.
1720 /// @see gtc_type_precision
1721 typedef vec<2, u32, highp> highp_u32vec2;
1722
1723 /// High qualifier 32 bit unsigned integer vector of 3 components type.
1724 /// @see gtc_type_precision
1725 typedef vec<3, u32, highp> highp_u32vec3;
1726
1727 /// High qualifier 32 bit unsigned integer vector of 4 components type.
1728 /// @see gtc_type_precision
1729 typedef vec<4, u32, highp> highp_u32vec4;
1730
1731
1732 /// Low qualifier 64 bit unsigned integer scalar type.
1733 /// @see gtc_type_precision
1734 typedef vec<1, u64, lowp> lowp_u64vec1;
1735
1736 /// Low qualifier 64 bit unsigned integer vector of 2 components type.
1737 /// @see gtc_type_precision
1738 typedef vec<2, u64, lowp> lowp_u64vec2;
1739
1740 /// Low qualifier 64 bit unsigned integer vector of 3 components type.
1741 /// @see gtc_type_precision
1742 typedef vec<3, u64, lowp> lowp_u64vec3;
1743
1744 /// Low qualifier 64 bit unsigned integer vector of 4 components type.
1745 /// @see gtc_type_precision
1746 typedef vec<4, u64, lowp> lowp_u64vec4;
1747
1748
1749 /// Medium qualifier 64 bit unsigned integer scalar type.
1750 /// @see gtc_type_precision
1751 typedef vec<1, u64, mediump> mediump_u64vec1;
1752
1753 /// Medium qualifier 64 bit unsigned integer vector of 2 components type.
1754 /// @see gtc_type_precision
1755 typedef vec<2, u64, mediump> mediump_u64vec2;
1756
1757 /// Medium qualifier 64 bit unsigned integer vector of 3 components type.
1758 /// @see gtc_type_precision
1759 typedef vec<3, u64, mediump> mediump_u64vec3;
1760
1761 /// Medium qualifier 64 bit unsigned integer vector of 4 components type.
1762 /// @see gtc_type_precision
1763 typedef vec<4, u64, mediump> mediump_u64vec4;
1764
1765
1766 /// High qualifier 64 bit unsigned integer scalar type.
1767 /// @see gtc_type_precision
1768 typedef vec<1, u64, highp> highp_u64vec1;
1769
1770 /// High qualifier 64 bit unsigned integer vector of 2 components type.
1771 /// @see gtc_type_precision
1772 typedef vec<2, u64, highp> highp_u64vec2;
1773
1774 /// High qualifier 64 bit unsigned integer vector of 3 components type.
1775 /// @see gtc_type_precision
1776 typedef vec<3, u64, highp> highp_u64vec3;
1777
1778 /// High qualifier 64 bit unsigned integer vector of 4 components type.
1779 /// @see gtc_type_precision
1780 typedef vec<4, u64, highp> highp_u64vec4;
1781
1782
1783 //////////////////////
1784 // Float vector types
1785
1786 /// 32 bit single-qualifier floating-point scalar.
1787 /// @see gtc_type_precision
1788 typedef float32 float32_t;
1789
1790 /// 32 bit single-qualifier floating-point scalar.
1791 /// @see gtc_type_precision
1792 typedef float32 f32;
1793
1794# ifndef GLM_FORCE_SINGLE_ONLY
1795
1796 /// 64 bit double-qualifier floating-point scalar.
1797 /// @see gtc_type_precision
1798 typedef float64 float64_t;
1799
1800 /// 64 bit double-qualifier floating-point scalar.
1801 /// @see gtc_type_precision
1802 typedef float64 f64;
1803# endif//GLM_FORCE_SINGLE_ONLY
1804
1805 /// Single-qualifier floating-point vector of 1 component.
1806 /// @see gtc_type_precision
1807 typedef vec<1, float, defaultp> fvec1;
1808
1809 /// Single-qualifier floating-point vector of 2 components.
1810 /// @see gtc_type_precision
1811 typedef vec<2, float, defaultp> fvec2;
1812
1813 /// Single-qualifier floating-point vector of 3 components.
1814 /// @see gtc_type_precision
1815 typedef vec<3, float, defaultp> fvec3;
1816
1817 /// Single-qualifier floating-point vector of 4 components.
1818 /// @see gtc_type_precision
1819 typedef vec<4, float, defaultp> fvec4;
1820
1821
1822 /// Single-qualifier floating-point vector of 1 component.
1823 /// @see gtc_type_precision
1824 typedef vec<1, f32, defaultp> f32vec1;
1825
1826 /// Single-qualifier floating-point vector of 2 components.
1827 /// @see gtc_type_precision
1828 typedef vec<2, f32, defaultp> f32vec2;
1829
1830 /// Single-qualifier floating-point vector of 3 components.
1831 /// @see gtc_type_precision
1832 typedef vec<3, f32, defaultp> f32vec3;
1833
1834 /// Single-qualifier floating-point vector of 4 components.
1835 /// @see gtc_type_precision
1836 typedef vec<4, f32, defaultp> f32vec4;
1837
1838# ifndef GLM_FORCE_SINGLE_ONLY
1839 /// Double-qualifier floating-point vector of 1 component.
1840 /// @see gtc_type_precision
1841 typedef vec<1, f64, defaultp> f64vec1;
1842
1843 /// Double-qualifier floating-point vector of 2 components.
1844 /// @see gtc_type_precision
1845 typedef vec<2, f64, defaultp> f64vec2;
1846
1847 /// Double-qualifier floating-point vector of 3 components.
1848 /// @see gtc_type_precision
1849 typedef vec<3, f64, defaultp> f64vec3;
1850
1851 /// Double-qualifier floating-point vector of 4 components.
1852 /// @see gtc_type_precision
1853 typedef vec<4, f64, defaultp> f64vec4;
1854# endif//GLM_FORCE_SINGLE_ONLY
1855
1856
1857 //////////////////////
1858 // Float matrix types
1859
1860 /// Single-qualifier floating-point 1x1 matrix.
1861 /// @see gtc_type_precision
1862 //typedef detail::tmat1x1<f32> fmat1;
1863
1864 /// Single-qualifier floating-point 2x2 matrix.
1865 /// @see gtc_type_precision
1866 typedef mat<2, 2, f32, defaultp> fmat2;
1867
1868 /// Single-qualifier floating-point 3x3 matrix.
1869 /// @see gtc_type_precision
1870 typedef mat<3, 3, f32, defaultp> fmat3;
1871
1872 /// Single-qualifier floating-point 4x4 matrix.
1873 /// @see gtc_type_precision
1874 typedef mat<4, 4, f32, defaultp> fmat4;
1875
1876
1877 /// Single-qualifier floating-point 1x1 matrix.
1878 /// @see gtc_type_precision
1879 //typedef f32 fmat1x1;
1880
1881 /// Single-qualifier floating-point 2x2 matrix.
1882 /// @see gtc_type_precision
1883 typedef mat<2, 2, f32, defaultp> fmat2x2;
1884
1885 /// Single-qualifier floating-point 2x3 matrix.
1886 /// @see gtc_type_precision
1887 typedef mat<2, 3, f32, defaultp> fmat2x3;
1888
1889 /// Single-qualifier floating-point 2x4 matrix.
1890 /// @see gtc_type_precision
1891 typedef mat<2, 4, f32, defaultp> fmat2x4;
1892
1893 /// Single-qualifier floating-point 3x2 matrix.
1894 /// @see gtc_type_precision
1895 typedef mat<3, 2, f32, defaultp> fmat3x2;
1896
1897 /// Single-qualifier floating-point 3x3 matrix.
1898 /// @see gtc_type_precision
1899 typedef mat<3, 3, f32, defaultp> fmat3x3;
1900
1901 /// Single-qualifier floating-point 3x4 matrix.
1902 /// @see gtc_type_precision
1903 typedef mat<3, 4, f32, defaultp> fmat3x4;
1904
1905 /// Single-qualifier floating-point 4x2 matrix.
1906 /// @see gtc_type_precision
1907 typedef mat<4, 2, f32, defaultp> fmat4x2;
1908
1909 /// Single-qualifier floating-point 4x3 matrix.
1910 /// @see gtc_type_precision
1911 typedef mat<4, 3, f32, defaultp> fmat4x3;
1912
1913 /// Single-qualifier floating-point 4x4 matrix.
1914 /// @see gtc_type_precision
1915 typedef mat<4, 4, f32, defaultp> fmat4x4;
1916
1917
1918 /// Single-qualifier floating-point 1x1 matrix.
1919 /// @see gtc_type_precision
1920 //typedef detail::tmat1x1<f32, defaultp> f32mat1;
1921
1922 /// Single-qualifier floating-point 2x2 matrix.
1923 /// @see gtc_type_precision
1924 typedef mat<2, 2, f32, defaultp> f32mat2;
1925
1926 /// Single-qualifier floating-point 3x3 matrix.
1927 /// @see gtc_type_precision
1928 typedef mat<3, 3, f32, defaultp> f32mat3;
1929
1930 /// Single-qualifier floating-point 4x4 matrix.
1931 /// @see gtc_type_precision
1932 typedef mat<4, 4, f32, defaultp> f32mat4;
1933
1934
1935 /// Single-qualifier floating-point 1x1 matrix.
1936 /// @see gtc_type_precision
1937 //typedef f32 f32mat1x1;
1938
1939 /// Single-qualifier floating-point 2x2 matrix.
1940 /// @see gtc_type_precision
1941 typedef mat<2, 2, f32, defaultp> f32mat2x2;
1942
1943 /// Single-qualifier floating-point 2x3 matrix.
1944 /// @see gtc_type_precision
1945 typedef mat<2, 3, f32, defaultp> f32mat2x3;
1946
1947 /// Single-qualifier floating-point 2x4 matrix.
1948 /// @see gtc_type_precision
1949 typedef mat<2, 4, f32, defaultp> f32mat2x4;
1950
1951 /// Single-qualifier floating-point 3x2 matrix.
1952 /// @see gtc_type_precision
1953 typedef mat<3, 2, f32, defaultp> f32mat3x2;
1954
1955 /// Single-qualifier floating-point 3x3 matrix.
1956 /// @see gtc_type_precision
1957 typedef mat<3, 3, f32, defaultp> f32mat3x3;
1958
1959 /// Single-qualifier floating-point 3x4 matrix.
1960 /// @see gtc_type_precision
1961 typedef mat<3, 4, f32, defaultp> f32mat3x4;
1962
1963 /// Single-qualifier floating-point 4x2 matrix.
1964 /// @see gtc_type_precision
1965 typedef mat<4, 2, f32, defaultp> f32mat4x2;
1966
1967 /// Single-qualifier floating-point 4x3 matrix.
1968 /// @see gtc_type_precision
1969 typedef mat<4, 3, f32, defaultp> f32mat4x3;
1970
1971 /// Single-qualifier floating-point 4x4 matrix.
1972 /// @see gtc_type_precision
1973 typedef mat<4, 4, f32, defaultp> f32mat4x4;
1974
1975
1976# ifndef GLM_FORCE_SINGLE_ONLY
1977
1978 /// Double-qualifier floating-point 1x1 matrix.
1979 /// @see gtc_type_precision
1980 //typedef detail::tmat1x1<f64, defaultp> f64mat1;
1981
1982 /// Double-qualifier floating-point 2x2 matrix.
1983 /// @see gtc_type_precision
1984 typedef mat<2, 2, f64, defaultp> f64mat2;
1985
1986 /// Double-qualifier floating-point 3x3 matrix.
1987 /// @see gtc_type_precision
1988 typedef mat<3, 3, f64, defaultp> f64mat3;
1989
1990 /// Double-qualifier floating-point 4x4 matrix.
1991 /// @see gtc_type_precision
1992 typedef mat<4, 4, f64, defaultp> f64mat4;
1993
1994
1995 /// Double-qualifier floating-point 1x1 matrix.
1996 /// @see gtc_type_precision
1997 //typedef f64 f64mat1x1;
1998
1999 /// Double-qualifier floating-point 2x2 matrix.
2000 /// @see gtc_type_precision
2001 typedef mat<2, 2, f64, defaultp> f64mat2x2;
2002
2003 /// Double-qualifier floating-point 2x3 matrix.
2004 /// @see gtc_type_precision
2005 typedef mat<2, 3, f64, defaultp> f64mat2x3;
2006
2007 /// Double-qualifier floating-point 2x4 matrix.
2008 /// @see gtc_type_precision
2009 typedef mat<2, 4, f64, defaultp> f64mat2x4;
2010
2011 /// Double-qualifier floating-point 3x2 matrix.
2012 /// @see gtc_type_precision
2013 typedef mat<3, 2, f64, defaultp> f64mat3x2;
2014
2015 /// Double-qualifier floating-point 3x3 matrix.
2016 /// @see gtc_type_precision
2017 typedef mat<3, 3, f64, defaultp> f64mat3x3;
2018
2019 /// Double-qualifier floating-point 3x4 matrix.
2020 /// @see gtc_type_precision
2021 typedef mat<3, 4, f64, defaultp> f64mat3x4;
2022
2023 /// Double-qualifier floating-point 4x2 matrix.
2024 /// @see gtc_type_precision
2025 typedef mat<4, 2, f64, defaultp> f64mat4x2;
2026
2027 /// Double-qualifier floating-point 4x3 matrix.
2028 /// @see gtc_type_precision
2029 typedef mat<4, 3, f64, defaultp> f64mat4x3;
2030
2031 /// Double-qualifier floating-point 4x4 matrix.
2032 /// @see gtc_type_precision
2033 typedef mat<4, 4, f64, defaultp> f64mat4x4;
2034
2035# endif//GLM_FORCE_SINGLE_ONLY
2036
2037 //////////////////////////
2038 // Quaternion types
2039
2040 /// Single-qualifier floating-point quaternion.
2041 /// @see gtc_type_precision
2042 typedef qua<f32, defaultp> f32quat;
2043
2044 /// Low single-qualifier floating-point quaternion.
2045 /// @see gtc_type_precision
2046 typedef qua<f32, lowp> lowp_f32quat;
2047
2048 /// Low double-qualifier floating-point quaternion.
2049 /// @see gtc_type_precision
2050 typedef qua<f64, lowp> lowp_f64quat;
2051
2052 /// Medium single-qualifier floating-point quaternion.
2053 /// @see gtc_type_precision
2054 typedef qua<f32, mediump> mediump_f32quat;
2055
2056# ifndef GLM_FORCE_SINGLE_ONLY
2057
2058 /// Medium double-qualifier floating-point quaternion.
2059 /// @see gtc_type_precision
2060 typedef qua<f64, mediump> mediump_f64quat;
2061
2062 /// High single-qualifier floating-point quaternion.
2063 /// @see gtc_type_precision
2064 typedef qua<f32, highp> highp_f32quat;
2065
2066 /// High double-qualifier floating-point quaternion.
2067 /// @see gtc_type_precision
2068 typedef qua<f64, highp> highp_f64quat;
2069
2070 /// Double-qualifier floating-point quaternion.
2071 /// @see gtc_type_precision
2072 typedef qua<f64, defaultp> f64quat;
2073
2074# endif//GLM_FORCE_SINGLE_ONLY
2075
2076 /// @}
2077}//namespace glm
2078
2079#include "type_precision.inl"