3rdparty/glm/doc/api/a00038_source.html
| | 0.9.8 |
fwd.hpp
Go to the documentation of this file.
1
4 #pragma once
5
6 #include "detail/type_int.hpp"
7 #include "detail/type_float.hpp"
8 #include "detail/type_vec.hpp"
9 #include "detail/type_mat.hpp"
10
12 // GLM_GTC_quaternion
13 namespace glm
14 {
15template <typename T, precision P> struct tquat;
16
20typedef tquat<float, lowp> lowp_quat;
21
25typedef tquat<float, mediump> mediump_quat;
26
30typedef tquat<float, highp> highp_quat;
31
32 #if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
33typedef highp_quat quat;
34 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
35typedef mediump_quat quat;
36 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
37typedef lowp_quat quat;
38 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
39typedef highp_quat quat;
41 #endif
42
46typedef lowp_quat lowp_fquat;
47
51typedef mediump_quat mediump_fquat;
52
56typedef highp_quat highp_fquat;
57
61typedef quat fquat;
62
63
67typedef tquat<double, lowp> lowp_dquat;
68
72typedef tquat<double, mediump> mediump_dquat;
73
77typedef tquat<double, highp> highp_dquat;
78
79 #if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
80typedef highp_dquat dquat;
81 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
82typedef mediump_dquat dquat;
83 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
84typedef lowp_dquat dquat;
85 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
86typedef highp_dquat dquat;
90 #endif
91
92 }//namespace glm
93
95 // GLM_GTC_precision
96 namespace glm
97 {
100typedef detail::int8 lowp_int8;
101
104typedef detail::int16 lowp_int16;
105
108typedef detail::int32 lowp_int32;
109
112typedef detail::int64 lowp_int64;
113
116typedef detail::int8 lowp_int8_t;
117
120typedef detail::int16 lowp_int16_t;
121
124typedef detail::int32 lowp_int32_t;
125
128typedef detail::int64 lowp_int64_t;
129
132typedef detail::int8 lowp_i8;
133
136typedef detail::int16 lowp_i16;
137
140typedef detail::int32 lowp_i32;
141
144typedef detail::int64 lowp_i64;
145
148typedef detail::int8 mediump_int8;
149
152typedef detail::int16 mediump_int16;
153
156typedef detail::int32 mediump_int32;
157
160typedef detail::int64 mediump_int64;
161
164typedef detail::int8 mediump_int8_t;
165
168typedef detail::int16 mediump_int16_t;
169
172typedef detail::int32 mediump_int32_t;
173
176typedef detail::int64 mediump_int64_t;
177
180typedef detail::int8 mediump_i8;
181
184typedef detail::int16 mediump_i16;
185
188typedef detail::int32 mediump_i32;
189
192typedef detail::int64 mediump_i64;
193
196typedef detail::int8 highp_int8;
197
200typedef detail::int16 highp_int16;
201
204typedef detail::int32 highp_int32;
205
208typedef detail::int64 highp_int64;
209
212typedef detail::int8 highp_int8_t;
213
216typedef detail::int16 highp_int16_t;
217
220typedef detail::int32 highp_int32_t;
221
224typedef detail::int64 highp_int64_t;
225
228typedef detail::int8 highp_i8;
229
232typedef detail::int16 highp_i16;
233
236typedef detail::int32 highp_i32;
237
240typedef detail::int64 highp_i64;
241
242
245typedef detail::int8 int8;
246
249typedef detail::int16 int16;
250
253typedef detail::int32 int32;
254
257typedef detail::int64 int64;
258
259
260 #if GLM_HAS_EXTENDED_INTEGER_TYPE
261using std::int8_t;
262using std::int16_t;
263using std::int32_t;
264using std::int64_t;
265 #else
266typedef detail::int8 int8_t;
269
272typedef detail::int16 int16_t;
273
276typedef detail::int32 int32_t;
277
280typedef detail::int64 int64_t;
281 #endif
282
286
290
294
298
299
300
303typedef tvec1<i8, lowp> lowp_i8vec1;
304
307typedef tvec2<i8, lowp> lowp_i8vec2;
308
311typedef tvec3<i8, lowp> lowp_i8vec3;
312
315typedef tvec4<i8, lowp> lowp_i8vec4;
316
317
320typedef tvec1<i8, mediump> mediump_i8vec1;
321
324typedef tvec2<i8, mediump> mediump_i8vec2;
325
328typedef tvec3<i8, mediump> mediump_i8vec3;
329
332typedef tvec4<i8, mediump> mediump_i8vec4;
333
334
337typedef tvec1<i8, highp> highp_i8vec1;
338
341typedef tvec2<i8, highp> highp_i8vec2;
342
345typedef tvec3<i8, highp> highp_i8vec3;
346
349typedef tvec4<i8, highp> highp_i8vec4;
350
351 #if(defined(GLM_PRECISION_LOWP_INT))
352typedef lowp_i8vec1 i8vec1;
353typedef lowp_i8vec2 i8vec2;
354typedef lowp_i8vec3 i8vec3;
355typedef lowp_i8vec4 i8vec4;
356 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
357typedef mediump_i8vec1 i8vec1;
358typedef mediump_i8vec2 i8vec2;
359typedef mediump_i8vec3 i8vec3;
360typedef mediump_i8vec4 i8vec4;
361 #else
362typedef highp_i8vec1 i8vec1;
365
368typedef highp_i8vec2 i8vec2;
369
372typedef highp_i8vec3 i8vec3;
373
376typedef highp_i8vec4 i8vec4;
377 #endif
378
379
382typedef tvec1<i16, lowp> lowp_i16vec1;
383
386typedef tvec2<i16, lowp> lowp_i16vec2;
387
390typedef tvec3<i16, lowp> lowp_i16vec3;
391
394typedef tvec4<i16, lowp> lowp_i16vec4;
395
396
399typedef tvec1<i16, mediump> mediump_i16vec1;
400
403typedef tvec2<i16, mediump> mediump_i16vec2;
404
407typedef tvec3<i16, mediump> mediump_i16vec3;
408
411typedef tvec4<i16, mediump> mediump_i16vec4;
412
413
416typedef tvec1<i16, highp> highp_i16vec1;
417
420typedef tvec2<i16, highp> highp_i16vec2;
421
424typedef tvec3<i16, highp> highp_i16vec3;
425
428typedef tvec4<i16, highp> highp_i16vec4;
429
430
431 #if(defined(GLM_PRECISION_LOWP_INT))
432typedef lowp_i16vec1 i16vec1;
433typedef lowp_i16vec2 i16vec2;
434typedef lowp_i16vec3 i16vec3;
435typedef lowp_i16vec4 i16vec4;
436 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
437typedef mediump_i16vec1 i16vec1;
438typedef mediump_i16vec2 i16vec2;
439typedef mediump_i16vec3 i16vec3;
440typedef mediump_i16vec4 i16vec4;
441 #else
442typedef highp_i16vec1 i16vec1;
445
448typedef highp_i16vec2 i16vec2;
449
452typedef highp_i16vec3 i16vec3;
453
456typedef highp_i16vec4 i16vec4;
457 #endif
458
459
462typedef tvec1<i32, lowp> lowp_i32vec1;
463
466typedef tvec2<i32, lowp> lowp_i32vec2;
467
470typedef tvec3<i32, lowp> lowp_i32vec3;
471
474typedef tvec4<i32, lowp> lowp_i32vec4;
475
476
479typedef tvec1<i32, mediump> mediump_i32vec1;
480
483typedef tvec2<i32, mediump> mediump_i32vec2;
484
487typedef tvec3<i32, mediump> mediump_i32vec3;
488
491typedef tvec4<i32, mediump> mediump_i32vec4;
492
493
496typedef tvec1<i32, highp> highp_i32vec1;
497
500typedef tvec2<i32, highp> highp_i32vec2;
501
504typedef tvec3<i32, highp> highp_i32vec3;
505
508typedef tvec4<i32, highp> highp_i32vec4;
509
510 #if(defined(GLM_PRECISION_LOWP_INT))
511typedef lowp_i32vec1 i32vec1;
512typedef lowp_i32vec2 i32vec2;
513typedef lowp_i32vec3 i32vec3;
514typedef lowp_i32vec4 i32vec4;
515 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
516typedef mediump_i32vec1 i32vec1;
517typedef mediump_i32vec2 i32vec2;
518typedef mediump_i32vec3 i32vec3;
519typedef mediump_i32vec4 i32vec4;
520 #else
521typedef highp_i32vec1 i32vec1;
524
527typedef highp_i32vec2 i32vec2;
528
531typedef highp_i32vec3 i32vec3;
532
535typedef highp_i32vec4 i32vec4;
536 #endif
537
538
541typedef tvec1<i32, lowp> lowp_i32vec1;
542
545typedef tvec2<i32, lowp> lowp_i32vec2;
546
549typedef tvec3<i32, lowp> lowp_i32vec3;
550
553typedef tvec4<i32, lowp> lowp_i32vec4;
554
555
558typedef tvec1<i32, mediump> mediump_i32vec1;
559
562typedef tvec2<i32, mediump> mediump_i32vec2;
563
566typedef tvec3<i32, mediump> mediump_i32vec3;
567
570typedef tvec4<i32, mediump> mediump_i32vec4;
571
572
575typedef tvec1<i32, highp> highp_i32vec1;
576
579typedef tvec2<i32, highp> highp_i32vec2;
580
583typedef tvec3<i32, highp> highp_i32vec3;
584
587typedef tvec4<i32, highp> highp_i32vec4;
588
589 #if(defined(GLM_PRECISION_LOWP_INT))
590typedef lowp_i32vec1 i32vec1;
591typedef lowp_i32vec2 i32vec2;
592typedef lowp_i32vec3 i32vec3;
593typedef lowp_i32vec4 i32vec4;
594 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
595typedef mediump_i32vec1 i32vec1;
596typedef mediump_i32vec2 i32vec2;
597typedef mediump_i32vec3 i32vec3;
598typedef mediump_i32vec4 i32vec4;
599 #else
600typedef highp_i32vec1 i32vec1;
603
606typedef highp_i32vec2 i32vec2;
607
610typedef highp_i32vec3 i32vec3;
611
614typedef highp_i32vec4 i32vec4;
615 #endif
616
617
618
621typedef tvec1<i64, lowp> lowp_i64vec1;
622
625typedef tvec2<i64, lowp> lowp_i64vec2;
626
629typedef tvec3<i64, lowp> lowp_i64vec3;
630
633typedef tvec4<i64, lowp> lowp_i64vec4;
634
635
638typedef tvec1<i64, mediump> mediump_i64vec1;
639
642typedef tvec2<i64, mediump> mediump_i64vec2;
643
646typedef tvec3<i64, mediump> mediump_i64vec3;
647
650typedef tvec4<i64, mediump> mediump_i64vec4;
651
652
655typedef tvec1<i64, highp> highp_i64vec1;
656
659typedef tvec2<i64, highp> highp_i64vec2;
660
663typedef tvec3<i64, highp> highp_i64vec3;
664
667typedef tvec4<i64, highp> highp_i64vec4;
668
669 #if(defined(GLM_PRECISION_LOWP_INT))
670typedef lowp_i64vec1 i64vec1;
671typedef lowp_i64vec2 i64vec2;
672typedef lowp_i64vec3 i64vec3;
673typedef lowp_i64vec4 i64vec4;
674 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
675typedef mediump_i64vec1 i64vec1;
676typedef mediump_i64vec2 i64vec2;
677typedef mediump_i64vec3 i64vec3;
678typedef mediump_i64vec4 i64vec4;
679 #else
680typedef highp_i64vec1 i64vec1;
683
686typedef highp_i64vec2 i64vec2;
687
690typedef highp_i64vec3 i64vec3;
691
694typedef highp_i64vec4 i64vec4;
695 #endif
696
697
699// Unsigned int vector types
700
703typedef detail::uint8 lowp_uint8;
704
707typedef detail::uint16 lowp_uint16;
708
711typedef detail::uint32 lowp_uint32;
712
715typedef detail::uint64 lowp_uint64;
716
717
720typedef detail::uint8 lowp_uint8_t;
721
724typedef detail::uint16 lowp_uint16_t;
725
728typedef detail::uint32 lowp_uint32_t;
729
732typedef detail::uint64 lowp_uint64_t;
733
734
737typedef detail::uint8 lowp_u8;
738
741typedef detail::uint16 lowp_u16;
742
745typedef detail::uint32 lowp_u32;
746
749typedef detail::uint64 lowp_u64;
750
751
752
755typedef detail::uint8 mediump_uint8;
756
759typedef detail::uint16 mediump_uint16;
760
763typedef detail::uint32 mediump_uint32;
764
767typedef detail::uint64 mediump_uint64;
768
771typedef detail::uint8 mediump_uint8_t;
772
775typedef detail::uint16 mediump_uint16_t;
776
779typedef detail::uint32 mediump_uint32_t;
780
783typedef detail::uint64 mediump_uint64_t;
784
787typedef detail::uint8 mediump_u8;
788
791typedef detail::uint16 mediump_u16;
792
795typedef detail::uint32 mediump_u32;
796
799typedef detail::uint64 mediump_u64;
800
801
802
805typedef detail::uint8 highp_uint8;
806
809typedef detail::uint16 highp_uint16;
810
813typedef detail::uint32 highp_uint32;
814
817typedef detail::uint64 highp_uint64;
818
821typedef detail::uint8 highp_uint8_t;
822
825typedef detail::uint16 highp_uint16_t;
826
829typedef detail::uint32 highp_uint32_t;
830
833typedef detail::uint64 highp_uint64_t;
834
837typedef detail::uint8 highp_u8;
838
841typedef detail::uint16 highp_u16;
842
845typedef detail::uint32 highp_u32;
846
849typedef detail::uint64 highp_u64;
850
851
852
855typedef detail::uint8 uint8;
856
859typedef detail::uint16 uint16;
860
863typedef detail::uint32 uint32;
864
867typedef detail::uint64 uint64;
868
869 #if GLM_HAS_EXTENDED_INTEGER_TYPE
870using std::uint8_t;
871using std::uint16_t;
872using std::uint32_t;
873using std::uint64_t;
874 #else
875typedef detail::uint8 uint8_t;
878
881typedef detail::uint16 uint16_t;
882
885typedef detail::uint32 uint32_t;
886
889typedef detail::uint64 uint64_t;
890 #endif
891
895
898typedef detail::uint16 u16;
899
902typedef detail::uint32 u32;
903
906typedef detail::uint64 u64;
907
908
909
912typedef tvec1<u8, lowp> lowp_u8vec1;
913
916typedef tvec2<u8, lowp> lowp_u8vec2;
917
920typedef tvec3<u8, lowp> lowp_u8vec3;
921
924typedef tvec4<u8, lowp> lowp_u8vec4;
925
926
929typedef tvec1<u8, mediump> mediump_u8vec1;
930
933typedef tvec2<u8, mediump> mediump_u8vec2;
934
937typedef tvec3<u8, mediump> mediump_u8vec3;
938
941typedef tvec4<u8, mediump> mediump_u8vec4;
942
943
946typedef tvec1<u8, highp> highp_u8vec1;
947
950typedef tvec2<u8, highp> highp_u8vec2;
951
954typedef tvec3<u8, highp> highp_u8vec3;
955
958typedef tvec4<u8, highp> highp_u8vec4;
959
960 #if(defined(GLM_PRECISION_LOWP_INT))
961typedef lowp_u8vec1 u8vec1;
962typedef lowp_u8vec2 u8vec2;
963typedef lowp_u8vec3 u8vec3;
964typedef lowp_u8vec4 u8vec4;
965 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
966typedef mediump_u8vec1 u8vec1;
967typedef mediump_u8vec2 u8vec2;
968typedef mediump_u8vec3 u8vec3;
969typedef mediump_u8vec4 u8vec4;
970 #else
971typedef highp_u8vec1 u8vec1;
974
977typedef highp_u8vec2 u8vec2;
978
981typedef highp_u8vec3 u8vec3;
982
985typedef highp_u8vec4 u8vec4;
986 #endif
987
988
991typedef tvec1<u16, lowp> lowp_u16vec1;
992
995typedef tvec2<u16, lowp> lowp_u16vec2;
996
999typedef tvec3<u16, lowp> lowp_u16vec3;
1000
1003typedef tvec4<u16, lowp> lowp_u16vec4;
1004
1005
1008typedef tvec1<u16, mediump> mediump_u16vec1;
1009
1012typedef tvec2<u16, mediump> mediump_u16vec2;
1013
1016typedef tvec3<u16, mediump> mediump_u16vec3;
1017
1020typedef tvec4<u16, mediump> mediump_u16vec4;
1021
1022
1025typedef tvec1<u16, highp> highp_u16vec1;
1026
1029typedef tvec2<u16, highp> highp_u16vec2;
1030
1033typedef tvec3<u16, highp> highp_u16vec3;
1034
1037typedef tvec4<u16, highp> highp_u16vec4;
1038
1039
1040 #if(defined(GLM_PRECISION_LOWP_INT))
1041typedef lowp_u16vec1 u16vec1;
1042typedef lowp_u16vec2 u16vec2;
1043typedef lowp_u16vec3 u16vec3;
1044typedef lowp_u16vec4 u16vec4;
1045 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
1046typedef mediump_u16vec1 u16vec1;
1047typedef mediump_u16vec2 u16vec2;
1048typedef mediump_u16vec3 u16vec3;
1049typedef mediump_u16vec4 u16vec4;
1050 #else
1051typedef highp_u16vec1 u16vec1;
1054
1057typedef highp_u16vec2 u16vec2;
1058
1061typedef highp_u16vec3 u16vec3;
1062
1065typedef highp_u16vec4 u16vec4;
1066 #endif
1067
1068
1071typedef tvec1<u32, lowp> lowp_u32vec1;
1072
1075typedef tvec2<u32, lowp> lowp_u32vec2;
1076
1079typedef tvec3<u32, lowp> lowp_u32vec3;
1080
1083typedef tvec4<u32, lowp> lowp_u32vec4;
1084
1085
1088typedef tvec1<u32, mediump> mediump_u32vec1;
1089
1092typedef tvec2<u32, mediump> mediump_u32vec2;
1093
1096typedef tvec3<u32, mediump> mediump_u32vec3;
1097
1100typedef tvec4<u32, mediump> mediump_u32vec4;
1101
1102
1105typedef tvec1<u32, highp> highp_u32vec1;
1106
1109typedef tvec2<u32, highp> highp_u32vec2;
1110
1113typedef tvec3<u32, highp> highp_u32vec3;
1114
1117typedef tvec4<u32, highp> highp_u32vec4;
1118
1119 #if(defined(GLM_PRECISION_LOWP_INT))
1120typedef lowp_u32vec1 u32vec1;
1121typedef lowp_u32vec2 u32vec2;
1122typedef lowp_u32vec3 u32vec3;
1123typedef lowp_u32vec4 u32vec4;
1124 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
1125typedef mediump_u32vec1 u32vec1;
1126typedef mediump_u32vec2 u32vec2;
1127typedef mediump_u32vec3 u32vec3;
1128typedef mediump_u32vec4 u32vec4;
1129 #else
1130typedef highp_u32vec1 u32vec1;
1133
1136typedef highp_u32vec2 u32vec2;
1137
1140typedef highp_u32vec3 u32vec3;
1141
1144typedef highp_u32vec4 u32vec4;
1145 #endif
1146
1147
1150typedef tvec1<u32, lowp> lowp_u32vec1;
1151
1154typedef tvec2<u32, lowp> lowp_u32vec2;
1155
1158typedef tvec3<u32, lowp> lowp_u32vec3;
1159
1162typedef tvec4<u32, lowp> lowp_u32vec4;
1163
1164
1167typedef tvec1<u32, mediump> mediump_u32vec1;
1168
1171typedef tvec2<u32, mediump> mediump_u32vec2;
1172
1175typedef tvec3<u32, mediump> mediump_u32vec3;
1176
1179typedef tvec4<u32, mediump> mediump_u32vec4;
1180
1181
1184typedef tvec1<u32, highp> highp_u32vec1;
1185
1188typedef tvec2<u32, highp> highp_u32vec2;
1189
1192typedef tvec3<u32, highp> highp_u32vec3;
1193
1196typedef tvec4<u32, highp> highp_u32vec4;
1197
1198 #if(defined(GLM_PRECISION_LOWP_INT))
1199typedef lowp_u32vec1 u32vec1;
1200typedef lowp_u32vec2 u32vec2;
1201typedef lowp_u32vec3 u32vec3;
1202typedef lowp_u32vec4 u32vec4;
1203 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
1204typedef mediump_u32vec1 u32vec1;
1205typedef mediump_u32vec2 u32vec2;
1206typedef mediump_u32vec3 u32vec3;
1207typedef mediump_u32vec4 u32vec4;
1208 #else
1209typedef highp_u32vec1 u32vec1;
1212
1215typedef highp_u32vec2 u32vec2;
1216
1219typedef highp_u32vec3 u32vec3;
1220
1223typedef highp_u32vec4 u32vec4;
1224 #endif
1225
1226
1227
1230typedef tvec1<u64, lowp> lowp_u64vec1;
1231
1234typedef tvec2<u64, lowp> lowp_u64vec2;
1235
1238typedef tvec3<u64, lowp> lowp_u64vec3;
1239
1242typedef tvec4<u64, lowp> lowp_u64vec4;
1243
1244
1247typedef tvec1<u64, mediump> mediump_u64vec1;
1248
1251typedef tvec2<u64, mediump> mediump_u64vec2;
1252
1255typedef tvec3<u64, mediump> mediump_u64vec3;
1256
1259typedef tvec4<u64, mediump> mediump_u64vec4;
1260
1261
1264typedef tvec1<u64, highp> highp_u64vec1;
1265
1268typedef tvec2<u64, highp> highp_u64vec2;
1269
1272typedef tvec3<u64, highp> highp_u64vec3;
1273
1276typedef tvec4<u64, highp> highp_u64vec4;
1277
1278 #if(defined(GLM_PRECISION_LOWP_UINT))
1279typedef lowp_u64vec1 u64vec1;
1280typedef lowp_u64vec2 u64vec2;
1281typedef lowp_u64vec3 u64vec3;
1282typedef lowp_u64vec4 u64vec4;
1283 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
1284typedef mediump_u64vec1 u64vec1;
1285typedef mediump_u64vec2 u64vec2;
1286typedef mediump_u64vec3 u64vec3;
1287typedef mediump_u64vec4 u64vec4;
1288 #else
1289typedef highp_u64vec1 u64vec1;
1292
1295typedef highp_u64vec2 u64vec2;
1296
1299typedef highp_u64vec3 u64vec3;
1300
1303typedef highp_u64vec4 u64vec4;
1304 #endif
1305
1306
1308// Float vector types
1309
1312typedef detail::float32 lowp_float32;
1313
1316typedef detail::float64 lowp_float64;
1317
1320typedef detail::float32 lowp_float32_t;
1321
1324typedef detail::float64 lowp_float64_t;
1325
1328typedef float32 lowp_f32;
1329
1332typedef float64 lowp_f64;
1333
1336typedef detail::float32 lowp_float32;
1337
1340typedef detail::float64 lowp_float64;
1341
1344typedef detail::float32 lowp_float32_t;
1345
1348typedef detail::float64 lowp_float64_t;
1349
1352typedef float32 lowp_f32;
1353
1356typedef float64 lowp_f64;
1357
1358
1361typedef detail::float32 lowp_float32;
1362
1365typedef detail::float64 lowp_float64;
1366
1369typedef detail::float32 lowp_float32_t;
1370
1373typedef detail::float64 lowp_float64_t;
1374
1377typedef float32 lowp_f32;
1378
1381typedef float64 lowp_f64;
1382
1383
1386typedef detail::float32 mediump_float32;
1387
1390typedef detail::float64 mediump_float64;
1391
1394typedef detail::float32 mediump_float32_t;
1395
1398typedef detail::float64 mediump_float64_t;
1399
1402typedef float32 mediump_f32;
1403
1406typedef float64 mediump_f64;
1407
1408
1411typedef detail::float32 highp_float32;
1412
1415typedef detail::float64 highp_float64;
1416
1419typedef detail::float32 highp_float32_t;
1420
1423typedef detail::float64 highp_float64_t;
1424
1427typedef float32 highp_f32;
1428
1431typedef float64 highp_f64;
1432
1433
1434 #if(defined(GLM_PRECISION_LOWP_FLOAT))
1435typedef lowp_float32 float32;
1438
1441typedef lowp_float64 float64;
1442
1445typedef lowp_float32_t float32_t;
1446
1449typedef lowp_float64_t float64_t;
1450
1453typedef lowp_f32 f32;
1454
1457typedef lowp_f64 f64;
1458
1459 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
1460
1463typedef mediump_float32 float32;
1464
1467typedef mediump_float64 float64;
1468
1471typedef mediump_float32 float32_t;
1472
1475typedef mediump_float64 float64_t;
1476
1479typedef mediump_float32 f32;
1480
1483typedef mediump_float64 f64;
1484
1485 #else//(defined(GLM_PRECISION_HIGHP_FLOAT))
1486
1489typedef highp_float32 float32;
1490
1493typedef highp_float64 float64;
1494
1497typedef highp_float32_t float32_t;
1498
1501typedef highp_float64_t float64_t;
1502
1505typedef highp_float32_t f32;
1506
1509typedef highp_float64_t f64;
1510 #endif
1511
1512
1515typedef tvec1<float, lowp> lowp_vec1;
1516
1519typedef tvec2<float, lowp> lowp_vec2;
1520
1523typedef tvec3<float, lowp> lowp_vec3;
1524
1527typedef tvec4<float, lowp> lowp_vec4;
1528
1531typedef tvec1<float, lowp> lowp_fvec1;
1532
1535typedef tvec2<float, lowp> lowp_fvec2;
1536
1539typedef tvec3<float, lowp> lowp_fvec3;
1540
1543typedef tvec4<float, lowp> lowp_fvec4;
1544
1545
1548typedef tvec1<float, mediump> mediump_vec1;
1549
1552typedef tvec2<float, mediump> mediump_vec2;
1553
1556typedef tvec3<float, mediump> mediump_vec3;
1557
1560typedef tvec4<float, mediump> mediump_vec4;
1561
1564typedef tvec1<float, mediump> mediump_fvec1;
1565
1568typedef tvec2<float, mediump> mediump_fvec2;
1569
1572typedef tvec3<float, mediump> mediump_fvec3;
1573
1576typedef tvec4<float, mediump> mediump_fvec4;
1577
1578
1581typedef tvec1<float, highp> highp_vec1;
1582
1585typedef tvec2<float, highp> highp_vec2;
1586
1589typedef tvec3<float, highp> highp_vec3;
1590
1593typedef tvec4<float, highp> highp_vec4;
1594
1597typedef tvec1<float, highp> highp_fvec1;
1598
1601typedef tvec2<float, highp> highp_fvec2;
1602
1605typedef tvec3<float, highp> highp_fvec3;
1606
1609typedef tvec4<float, highp> highp_fvec4;
1610
1611
1614typedef tvec1<f32, lowp> lowp_f32vec1;
1615
1618typedef tvec2<f32, lowp> lowp_f32vec2;
1619
1622typedef tvec3<f32, lowp> lowp_f32vec3;
1623
1626typedef tvec4<f32, lowp> lowp_f32vec4;
1627
1630typedef tvec1<f32, mediump> mediump_f32vec1;
1631
1634typedef tvec2<f32, mediump> mediump_f32vec2;
1635
1638typedef tvec3<f32, mediump> mediump_f32vec3;
1639
1642typedef tvec4<f32, mediump> mediump_f32vec4;
1643
1646typedef tvec1<f32, highp> highp_f32vec1;
1647
1650typedef tvec2<f32, highp> highp_f32vec2;
1651
1654typedef tvec3<f32, highp> highp_f32vec3;
1655
1658typedef tvec4<f32, highp> highp_f32vec4;
1659
1660
1663typedef tvec1<f64, lowp> lowp_f64vec1;
1664
1667typedef tvec2<f64, lowp> lowp_f64vec2;
1668
1671typedef tvec3<f64, lowp> lowp_f64vec3;
1672
1675typedef tvec4<f64, lowp> lowp_f64vec4;
1676
1679typedef tvec1<f64, mediump> mediump_f64vec1;
1680
1683typedef tvec2<f64, mediump> mediump_f64vec2;
1684
1687typedef tvec3<f64, mediump> mediump_f64vec3;
1688
1691typedef tvec4<f64, mediump> mediump_f64vec4;
1692
1695typedef tvec1<f64, highp> highp_f64vec1;
1696
1699typedef tvec2<f64, highp> highp_f64vec2;
1700
1703typedef tvec3<f64, highp> highp_f64vec3;
1704
1707typedef tvec4<f64, highp> highp_f64vec4;
1708
1709
1711// Float matrix types
1712
1715//typedef lowp_f32 lowp_fmat1x1;
1716
1719typedef tmat2x2<f32, lowp> lowp_fmat2x2;
1720
1723typedef tmat2x3<f32, lowp> lowp_fmat2x3;
1724
1727typedef tmat2x4<f32, lowp> lowp_fmat2x4;
1728
1731typedef tmat3x2<f32, lowp> lowp_fmat3x2;
1732
1735typedef tmat3x3<f32, lowp> lowp_fmat3x3;
1736
1739typedef tmat3x4<f32, lowp> lowp_fmat3x4;
1740
1743typedef tmat4x2<f32, lowp> lowp_fmat4x2;
1744
1747typedef tmat4x3<f32, lowp> lowp_fmat4x3;
1748
1751typedef tmat4x4<f32, lowp> lowp_fmat4x4;
1752
1755//typedef lowp_fmat1x1 lowp_fmat1;
1756
1759typedef lowp_fmat2x2 lowp_fmat2;
1760
1763typedef lowp_fmat3x3 lowp_fmat3;
1764
1767typedef lowp_fmat4x4 lowp_fmat4;
1768
1769
1772//typedef mediump_f32 mediump_fmat1x1;
1773
1776typedef tmat2x2<f32, mediump> mediump_fmat2x2;
1777
1780typedef tmat2x3<f32, mediump> mediump_fmat2x3;
1781
1784typedef tmat2x4<f32, mediump> mediump_fmat2x4;
1785
1788typedef tmat3x2<f32, mediump> mediump_fmat3x2;
1789
1792typedef tmat3x3<f32, mediump> mediump_fmat3x3;
1793
1796typedef tmat3x4<f32, mediump> mediump_fmat3x4;
1797
1800typedef tmat4x2<f32, mediump> mediump_fmat4x2;
1801
1804typedef tmat4x3<f32, mediump> mediump_fmat4x3;
1805
1808typedef tmat4x4<f32, mediump> mediump_fmat4x4;
1809
1812//typedef mediump_fmat1x1 mediump_fmat1;
1813
1816typedef mediump_fmat2x2 mediump_fmat2;
1817
1820typedef mediump_fmat3x3 mediump_fmat3;
1821
1824typedef mediump_fmat4x4 mediump_fmat4;
1825
1826
1829//typedef highp_f32 highp_fmat1x1;
1830
1833typedef tmat2x2<f32, highp> highp_fmat2x2;
1834
1837typedef tmat2x3<f32, highp> highp_fmat2x3;
1838
1841typedef tmat2x4<f32, highp> highp_fmat2x4;
1842
1845typedef tmat3x2<f32, highp> highp_fmat3x2;
1846
1849typedef tmat3x3<f32, highp> highp_fmat3x3;
1850
1853typedef tmat3x4<f32, highp> highp_fmat3x4;
1854
1857typedef tmat4x2<f32, highp> highp_fmat4x2;
1858
1861typedef tmat4x3<f32, highp> highp_fmat4x3;
1862
1865typedef tmat4x4<f32, highp> highp_fmat4x4;
1866
1869//typedef highp_fmat1x1 highp_fmat1;
1870
1873typedef highp_fmat2x2 highp_fmat2;
1874
1877typedef highp_fmat3x3 highp_fmat3;
1878
1881typedef highp_fmat4x4 highp_fmat4;
1882
1883
1886//typedef f32 lowp_f32mat1x1;
1887
1890typedef tmat2x2<f32, lowp> lowp_f32mat2x2;
1891
1894typedef tmat2x3<f32, lowp> lowp_f32mat2x3;
1895
1898typedef tmat2x4<f32, lowp> lowp_f32mat2x4;
1899
1902typedef tmat3x2<f32, lowp> lowp_f32mat3x2;
1903
1906typedef tmat3x3<f32, lowp> lowp_f32mat3x3;
1907
1910typedef tmat3x4<f32, lowp> lowp_f32mat3x4;
1911
1914typedef tmat4x2<f32, lowp> lowp_f32mat4x2;
1915
1918typedef tmat4x3<f32, lowp> lowp_f32mat4x3;
1919
1922typedef tmat4x4<f32, lowp> lowp_f32mat4x4;
1923
1926//typedef detail::tmat1x1<f32, lowp> lowp_f32mat1;
1927
1930typedef lowp_f32mat2x2 lowp_f32mat2;
1931
1934typedef lowp_f32mat3x3 lowp_f32mat3;
1935
1938typedef lowp_f32mat4x4 lowp_f32mat4;
1939
1940
1943//typedef f32 mediump_f32mat1x1;
1944
1947typedef tmat2x2<f32, mediump> mediump_f32mat2x2;
1948
1951typedef tmat2x3<f32, mediump> mediump_f32mat2x3;
1952
1955typedef tmat2x4<f32, mediump> mediump_f32mat2x4;
1956
1959typedef tmat3x2<f32, mediump> mediump_f32mat3x2;
1960
1963typedef tmat3x3<f32, mediump> mediump_f32mat3x3;
1964
1967typedef tmat3x4<f32, mediump> mediump_f32mat3x4;
1968
1971typedef tmat4x2<f32, mediump> mediump_f32mat4x2;
1972
1975typedef tmat4x3<f32, mediump> mediump_f32mat4x3;
1976
1979typedef tmat4x4<f32, mediump> mediump_f32mat4x4;
1980
1983//typedef detail::tmat1x1<f32, mediump> f32mat1;
1984
1987typedef mediump_f32mat2x2 mediump_f32mat2;
1988
1991typedef mediump_f32mat3x3 mediump_f32mat3;
1992
1995typedef mediump_f32mat4x4 mediump_f32mat4;
1996
1997
2000//typedef f32 highp_f32mat1x1;
2001
2004typedef tmat2x2<f32, highp> highp_f32mat2x2;
2005
2008typedef tmat2x3<f32, highp> highp_f32mat2x3;
2009
2012typedef tmat2x4<f32, highp> highp_f32mat2x4;
2013
2016typedef tmat3x2<f32, highp> highp_f32mat3x2;
2017
2020typedef tmat3x3<f32, highp> highp_f32mat3x3;
2021
2024typedef tmat3x4<f32, highp> highp_f32mat3x4;
2025
2028typedef tmat4x2<f32, highp> highp_f32mat4x2;
2029
2032typedef tmat4x3<f32, highp> highp_f32mat4x3;
2033
2036typedef tmat4x4<f32, highp> highp_f32mat4x4;
2037
2040//typedef detail::tmat1x1<f32, highp> f32mat1;
2041
2044typedef highp_f32mat2x2 highp_f32mat2;
2045
2048typedef highp_f32mat3x3 highp_f32mat3;
2049
2052typedef highp_f32mat4x4 highp_f32mat4;
2053
2054
2057//typedef f64 lowp_f64mat1x1;
2058
2061typedef tmat2x2<f64, lowp> lowp_f64mat2x2;
2062
2065typedef tmat2x3<f64, lowp> lowp_f64mat2x3;
2066
2069typedef tmat2x4<f64, lowp> lowp_f64mat2x4;
2070
2073typedef tmat3x2<f64, lowp> lowp_f64mat3x2;
2074
2077typedef tmat3x3<f64, lowp> lowp_f64mat3x3;
2078
2081typedef tmat3x4<f64, lowp> lowp_f64mat3x4;
2082
2085typedef tmat4x2<f64, lowp> lowp_f64mat4x2;
2086
2089typedef tmat4x3<f64, lowp> lowp_f64mat4x3;
2090
2093typedef tmat4x4<f64, lowp> lowp_f64mat4x4;
2094
2097//typedef lowp_f64mat1x1 lowp_f64mat1;
2098
2101typedef lowp_f64mat2x2 lowp_f64mat2;
2102
2105typedef lowp_f64mat3x3 lowp_f64mat3;
2106
2109typedef lowp_f64mat4x4 lowp_f64mat4;
2110
2111
2114//typedef f64 Highp_f64mat1x1;
2115
2118typedef tmat2x2<f64, mediump> mediump_f64mat2x2;
2119
2122typedef tmat2x3<f64, mediump> mediump_f64mat2x3;
2123
2126typedef tmat2x4<f64, mediump> mediump_f64mat2x4;
2127
2130typedef tmat3x2<f64, mediump> mediump_f64mat3x2;
2131
2134typedef tmat3x3<f64, mediump> mediump_f64mat3x3;
2135
2138typedef tmat3x4<f64, mediump> mediump_f64mat3x4;
2139
2142typedef tmat4x2<f64, mediump> mediump_f64mat4x2;
2143
2146typedef tmat4x3<f64, mediump> mediump_f64mat4x3;
2147
2150typedef tmat4x4<f64, mediump> mediump_f64mat4x4;
2151
2154//typedef mediump_f64mat1x1 mediump_f64mat1;
2155
2158typedef mediump_f64mat2x2 mediump_f64mat2;
2159
2162typedef mediump_f64mat3x3 mediump_f64mat3;
2163
2166typedef mediump_f64mat4x4 mediump_f64mat4;
2167
2170//typedef f64 highp_f64mat1x1;
2171
2174typedef tmat2x2<f64, highp> highp_f64mat2x2;
2175
2178typedef tmat2x3<f64, highp> highp_f64mat2x3;
2179
2182typedef tmat2x4<f64, highp> highp_f64mat2x4;
2183
2186typedef tmat3x2<f64, highp> highp_f64mat3x2;
2187
2190typedef tmat3x3<f64, highp> highp_f64mat3x3;
2191
2194typedef tmat3x4<f64, highp> highp_f64mat3x4;
2195
2198typedef tmat4x2<f64, highp> highp_f64mat4x2;
2199
2202typedef tmat4x3<f64, highp> highp_f64mat4x3;
2203
2206typedef tmat4x4<f64, highp> highp_f64mat4x4;
2207
2210//typedef highp_f64mat1x1 highp_f64mat1;
2211
2214typedef highp_f64mat2x2 highp_f64mat2;
2215
2218typedef highp_f64mat3x3 highp_f64mat3;
2219
2222typedef highp_f64mat4x4 highp_f64mat4;
2223
2225// Quaternion types
2226
2229typedef tquat<f32, lowp> lowp_f32quat;
2230
2233typedef tquat<f64, lowp> lowp_f64quat;
2234
2237typedef tquat<f32, mediump> mediump_f32quat;
2238
2241typedef tquat<f64, mediump> mediump_f64quat;
2242
2245typedef tquat<f32, highp> highp_f32quat;
2246
2249typedef tquat<f64, highp> highp_f64quat;
2250
2251
2252 #if(defined(GLM_PRECISION_LOWP_FLOAT))
2253typedef lowp_f32vec1 fvec1;
2254typedef lowp_f32vec2 fvec2;
2255typedef lowp_f32vec3 fvec3;
2256typedef lowp_f32vec4 fvec4;
2257typedef lowp_f32mat2 fmat2;
2258typedef lowp_f32mat3 fmat3;
2259typedef lowp_f32mat4 fmat4;
2260typedef lowp_f32mat2x2 fmat2x2;
2261typedef lowp_f32mat3x2 fmat3x2;
2262typedef lowp_f32mat4x2 fmat4x2;
2263typedef lowp_f32mat2x3 fmat2x3;
2264typedef lowp_f32mat3x3 fmat3x3;
2265typedef lowp_f32mat4x3 fmat4x3;
2266typedef lowp_f32mat2x4 fmat2x4;
2267typedef lowp_f32mat3x4 fmat3x4;
2268typedef lowp_f32mat4x4 fmat4x4;
2269typedef lowp_f32quat fquat;
2270
2271typedef lowp_f32vec1 f32vec1;
2272typedef lowp_f32vec2 f32vec2;
2273typedef lowp_f32vec3 f32vec3;
2274typedef lowp_f32vec4 f32vec4;
2275typedef lowp_f32mat2 f32mat2;
2276typedef lowp_f32mat3 f32mat3;
2277typedef lowp_f32mat4 f32mat4;
2278typedef lowp_f32mat2x2 f32mat2x2;
2279typedef lowp_f32mat3x2 f32mat3x2;
2280typedef lowp_f32mat4x2 f32mat4x2;
2281typedef lowp_f32mat2x3 f32mat2x3;
2282typedef lowp_f32mat3x3 f32mat3x3;
2283typedef lowp_f32mat4x3 f32mat4x3;
2284typedef lowp_f32mat2x4 f32mat2x4;
2285typedef lowp_f32mat3x4 f32mat3x4;
2286typedef lowp_f32mat4x4 f32mat4x4;
2287typedef lowp_f32quat f32quat;
2288 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
2289typedef mediump_f32vec1 fvec1;
2290typedef mediump_f32vec2 fvec2;
2291typedef mediump_f32vec3 fvec3;
2292typedef mediump_f32vec4 fvec4;
2293typedef mediump_f32mat2 fmat2;
2294typedef mediump_f32mat3 fmat3;
2295typedef mediump_f32mat4 fmat4;
2296typedef mediump_f32mat2x2 fmat2x2;
2297typedef mediump_f32mat3x2 fmat3x2;
2298typedef mediump_f32mat4x2 fmat4x2;
2299typedef mediump_f32mat2x3 fmat2x3;
2300typedef mediump_f32mat3x3 fmat3x3;
2301typedef mediump_f32mat4x3 fmat4x3;
2302typedef mediump_f32mat2x4 fmat2x4;
2303typedef mediump_f32mat3x4 fmat3x4;
2304typedef mediump_f32mat4x4 fmat4x4;
2305typedef mediump_f32quat fquat;
2306
2307typedef mediump_f32vec1 f32vec1;
2308typedef mediump_f32vec2 f32vec2;
2309typedef mediump_f32vec3 f32vec3;
2310typedef mediump_f32vec4 f32vec4;
2311typedef mediump_f32mat2 f32mat2;
2312typedef mediump_f32mat3 f32mat3;
2313typedef mediump_f32mat4 f32mat4;
2314typedef mediump_f32mat2x2 f32mat2x2;
2315typedef mediump_f32mat3x2 f32mat3x2;
2316typedef mediump_f32mat4x2 f32mat4x2;
2317typedef mediump_f32mat2x3 f32mat2x3;
2318typedef mediump_f32mat3x3 f32mat3x3;
2319typedef mediump_f32mat4x3 f32mat4x3;
2320typedef mediump_f32mat2x4 f32mat2x4;
2321typedef mediump_f32mat3x4 f32mat3x4;
2322typedef mediump_f32mat4x4 f32mat4x4;
2323typedef mediump_f32quat f32quat;
2324 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT))
2325typedef highp_f32vec1 fvec1;
2328
2331typedef highp_f32vec2 fvec2;
2332
2335typedef highp_f32vec3 fvec3;
2336
2339typedef highp_f32vec4 fvec4;
2340
2343typedef highp_f32mat2x2 fmat2x2;
2344
2347typedef highp_f32mat2x3 fmat2x3;
2348
2351typedef highp_f32mat2x4 fmat2x4;
2352
2355typedef highp_f32mat3x2 fmat3x2;
2356
2359typedef highp_f32mat3x3 fmat3x3;
2360
2363typedef highp_f32mat3x4 fmat3x4;
2364
2367typedef highp_f32mat4x2 fmat4x2;
2368
2371typedef highp_f32mat4x3 fmat4x3;
2372
2375typedef highp_f32mat4x4 fmat4x4;
2376
2380
2384
2388
2391typedef highp_fquat fquat;
2392
2393
2394
2397typedef highp_f32vec1 f32vec1;
2398
2401typedef highp_f32vec2 f32vec2;
2402
2405typedef highp_f32vec3 f32vec3;
2406
2409typedef highp_f32vec4 f32vec4;
2410
2413typedef highp_f32mat2x2 f32mat2x2;
2414
2417typedef highp_f32mat2x3 f32mat2x3;
2418
2421typedef highp_f32mat2x4 f32mat2x4;
2422
2425typedef highp_f32mat3x2 f32mat3x2;
2426
2429typedef highp_f32mat3x3 f32mat3x3;
2430
2433typedef highp_f32mat3x4 f32mat3x4;
2434
2437typedef highp_f32mat4x2 f32mat4x2;
2438
2441typedef highp_f32mat4x3 f32mat4x3;
2442
2445typedef highp_f32mat4x4 f32mat4x4;
2446
2449typedef f32mat2x2 f32mat2;
2450
2453typedef f32mat3x3 f32mat3;
2454
2457typedef f32mat4x4 f32mat4;
2458
2461typedef highp_f32quat f32quat;
2462 #endif
2463
2464 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
2465typedef lowp_f64vec1 f64vec1;
2466typedef lowp_f64vec2 f64vec2;
2467typedef lowp_f64vec3 f64vec3;
2468typedef lowp_f64vec4 f64vec4;
2469typedef lowp_f64mat2 f64mat2;
2470typedef lowp_f64mat3 f64mat3;
2471typedef lowp_f64mat4 f64mat4;
2472typedef lowp_f64mat2x2 f64mat2x2;
2473typedef lowp_f64mat3x2 f64mat3x2;
2474typedef lowp_f64mat4x2 f64mat4x2;
2475typedef lowp_f64mat2x3 f64mat2x3;
2476typedef lowp_f64mat3x3 f64mat3x3;
2477typedef lowp_f64mat4x3 f64mat4x3;
2478typedef lowp_f64mat2x4 f64mat2x4;
2479typedef lowp_f64mat3x4 f64mat3x4;
2480typedef lowp_f64mat4x4 f64mat4x4;
2481typedef lowp_f64quat f64quat;
2482 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
2483typedef mediump_f64vec1 f64vec1;
2484typedef mediump_f64vec2 f64vec2;
2485typedef mediump_f64vec3 f64vec3;
2486typedef mediump_f64vec4 f64vec4;
2487typedef mediump_f64mat2 f64mat2;
2488typedef mediump_f64mat3 f64mat3;
2489typedef mediump_f64mat4 f64mat4;
2490typedef mediump_f64mat2x2 f64mat2x2;
2491typedef mediump_f64mat3x2 f64mat3x2;
2492typedef mediump_f64mat4x2 f64mat4x2;
2493typedef mediump_f64mat2x3 f64mat2x3;
2494typedef mediump_f64mat3x3 f64mat3x3;
2495typedef mediump_f64mat4x3 f64mat4x3;
2496typedef mediump_f64mat2x4 f64mat2x4;
2497typedef mediump_f64mat3x4 f64mat3x4;
2498typedef mediump_f64mat4x4 f64mat4x4;
2499typedef mediump_f64quat f64quat;
2500 #else
2501typedef highp_f64vec1 f64vec1;
2504
2507typedef highp_f64vec2 f64vec2;
2508
2511typedef highp_f64vec3 f64vec3;
2512
2515typedef highp_f64vec4 f64vec4;
2516
2519typedef highp_f64mat2x2 f64mat2x2;
2520
2523typedef highp_f64mat2x3 f64mat2x3;
2524
2527typedef highp_f64mat2x4 f64mat2x4;
2528
2531typedef highp_f64mat3x2 f64mat3x2;
2532
2535typedef highp_f64mat3x3 f64mat3x3;
2536
2539typedef highp_f64mat3x4 f64mat3x4;
2540
2543typedef highp_f64mat4x2 f64mat4x2;
2544
2547typedef highp_f64mat4x3 f64mat4x3;
2548
2551typedef highp_f64mat4x4 f64mat4x4;
2552
2555typedef f64mat2x2 f64mat2;
2556
2559typedef f64mat3x3 f64mat3;
2560
2563typedef f64mat4x4 f64mat4;
2564
2567typedef highp_f64quat f64quat;
2568 #endif
2569
2570 }//namespace glm
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:116
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2457
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:444
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:55
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2397
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2421
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:703
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2515
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1132
GLM Core
tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:363
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:148
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:180
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:837
tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:149
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:164
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:833
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:809
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:829
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:188
tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:245
GLM Core
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:228
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:686
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1140
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:707
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:981
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2429
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:192
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1065
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:849
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1509
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2503
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1303
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:100
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:104
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:456
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:289
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2531
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2383
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:206
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:140
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:877
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:124
tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:357
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:805
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:236
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:755
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:787
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2347
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2437
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:841
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:845
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:209
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:902
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2551
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:56
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:196
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2523
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1061
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:448
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2449
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:711
tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:259
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:168
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:268
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:767
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:212
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2371
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:898
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2339
Definition: _noise.hpp:11
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1136
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2413
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2563
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:156
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:232
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2425
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:821
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2543
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2539
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2375
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1497
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:817
tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:351
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1291
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:144
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2511
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:207
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:108
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:732
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:523
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:745
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:977
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:452
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2401
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:720
GLM Core
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:694
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2331
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2387
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2409
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:749
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:285
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2343
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:690
tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:252
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:136
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:715
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:208
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:894
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:795
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2555
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2519
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:128
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:741
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1057
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:779
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1053
tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:142
tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:135
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2567
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:724
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:240
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:184
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1295
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:204
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2417
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1144
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:211
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:172
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:213
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:276
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2379
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:791
GLM Core
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:825
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:763
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:889
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:368
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2441
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2547
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:214
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2351
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:771
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2363
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:527
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1501
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:372
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:176
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2445
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:364
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:535
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:132
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2405
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2327
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:220
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:160
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:799
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1299
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2359
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:376
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2335
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:737
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:813
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2367
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:775
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:885
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:783
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:531
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2433
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:208
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:985
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:224
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:682
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:759
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:906
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:112
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:120
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:152
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:272
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:280
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:293
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:728
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:200
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:881
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2461
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2559
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2507
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:297
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2527
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2535
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:216
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2355
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:973
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1505
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:212
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2453
Generated by 1.8.10