0.9.7
fwd.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include "detail/type_int.hpp"
36 #include "detail/type_float.hpp"
37 #include "detail/type_vec.hpp"
38 #include "detail/type_mat.hpp"
39 
41 // GLM_GTC_quaternion
42 namespace glm
43 {
44  template <typename T, precision P> struct tquat;
45 
49  typedef tquat<float, lowp> lowp_quat;
50 
54  typedef tquat<float, mediump> mediump_quat;
55 
59  typedef tquat<float, highp> highp_quat;
60 
61 #if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
62  typedef highp_quat quat;
63 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
64  typedef mediump_quat quat;
65 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
66  typedef lowp_quat quat;
67 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
68  typedef highp_quat quat;
70 #endif
71 
75  typedef lowp_quat lowp_fquat;
76 
80  typedef mediump_quat mediump_fquat;
81 
85  typedef highp_quat highp_fquat;
86 
90  typedef quat fquat;
91 
92 
96  typedef tquat<double, lowp> lowp_dquat;
97 
101  typedef tquat<double, mediump> mediump_dquat;
102 
106  typedef tquat<double, highp> highp_dquat;
107 
108 #if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
109  typedef highp_dquat dquat;
110 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
111  typedef mediump_dquat dquat;
112 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
113  typedef lowp_dquat dquat;
114 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
115  typedef highp_dquat dquat;
119 #endif
120 
121 }//namespace glm
122 
124 // GLM_GTC_precision
125 namespace glm
126 {
129  typedef detail::int8 lowp_int8;
130 
133  typedef detail::int16 lowp_int16;
134 
137  typedef detail::int32 lowp_int32;
138 
141  typedef detail::int64 lowp_int64;
142 
145  typedef detail::int8 lowp_int8_t;
146 
149  typedef detail::int16 lowp_int16_t;
150 
153  typedef detail::int32 lowp_int32_t;
154 
157  typedef detail::int64 lowp_int64_t;
158 
161  typedef detail::int8 lowp_i8;
162 
165  typedef detail::int16 lowp_i16;
166 
169  typedef detail::int32 lowp_i32;
170 
173  typedef detail::int64 lowp_i64;
174 
177  typedef detail::int8 mediump_int8;
178 
181  typedef detail::int16 mediump_int16;
182 
185  typedef detail::int32 mediump_int32;
186 
189  typedef detail::int64 mediump_int64;
190 
193  typedef detail::int8 mediump_int8_t;
194 
197  typedef detail::int16 mediump_int16_t;
198 
201  typedef detail::int32 mediump_int32_t;
202 
205  typedef detail::int64 mediump_int64_t;
206 
209  typedef detail::int8 mediump_i8;
210 
213  typedef detail::int16 mediump_i16;
214 
217  typedef detail::int32 mediump_i32;
218 
221  typedef detail::int64 mediump_i64;
222 
225  typedef detail::int8 highp_int8;
226 
229  typedef detail::int16 highp_int16;
230 
233  typedef detail::int32 highp_int32;
234 
237  typedef detail::int64 highp_int64;
238 
241  typedef detail::int8 highp_int8_t;
242 
245  typedef detail::int16 highp_int16_t;
246 
249  typedef detail::int32 highp_int32_t;
250 
253  typedef detail::int64 highp_int64_t;
254 
257  typedef detail::int8 highp_i8;
258 
261  typedef detail::int16 highp_i16;
262 
265  typedef detail::int32 highp_i32;
266 
269  typedef detail::int64 highp_i64;
270 
271 
274  typedef detail::int8 int8;
275 
278  typedef detail::int16 int16;
279 
282  typedef detail::int32 int32;
283 
286  typedef detail::int64 int64;
287 
288 
289 #if GLM_HAS_EXTENDED_INTEGER_TYPE
290  using std::int8_t;
291  using std::int16_t;
292  using std::int32_t;
293  using std::int64_t;
294 #else
295  typedef detail::int8 int8_t;
298 
301  typedef detail::int16 int16_t;
302 
305  typedef detail::int32 int32_t;
306 
309  typedef detail::int64 int64_t;
310 #endif
311 
314  typedef detail::int8 i8;
315 
318  typedef detail::int16 i16;
319 
322  typedef detail::int32 i32;
323 
326  typedef detail::int64 i64;
327 
328 
329 
332  typedef tvec1<i8, lowp> lowp_i8vec1;
333 
336  typedef tvec2<i8, lowp> lowp_i8vec2;
337 
340  typedef tvec3<i8, lowp> lowp_i8vec3;
341 
344  typedef tvec4<i8, lowp> lowp_i8vec4;
345 
346 
349  typedef tvec1<i8, mediump> mediump_i8vec1;
350 
353  typedef tvec2<i8, mediump> mediump_i8vec2;
354 
357  typedef tvec3<i8, mediump> mediump_i8vec3;
358 
361  typedef tvec4<i8, mediump> mediump_i8vec4;
362 
363 
366  typedef tvec1<i8, highp> highp_i8vec1;
367 
370  typedef tvec2<i8, highp> highp_i8vec2;
371 
374  typedef tvec3<i8, highp> highp_i8vec3;
375 
378  typedef tvec4<i8, highp> highp_i8vec4;
379 
380 #if(defined(GLM_PRECISION_LOWP_INT))
381  typedef lowp_i8vec1 i8vec1;
382  typedef lowp_i8vec2 i8vec2;
383  typedef lowp_i8vec3 i8vec3;
384  typedef lowp_i8vec4 i8vec4;
385 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
386  typedef mediump_i8vec1 i8vec1;
387  typedef mediump_i8vec2 i8vec2;
388  typedef mediump_i8vec3 i8vec3;
389  typedef mediump_i8vec4 i8vec4;
390 #else
391  typedef highp_i8vec1 i8vec1;
394 
397  typedef highp_i8vec2 i8vec2;
398 
401  typedef highp_i8vec3 i8vec3;
402 
405  typedef highp_i8vec4 i8vec4;
406 #endif
407 
408 
411  typedef tvec1<i16, lowp> lowp_i16vec1;
412 
415  typedef tvec2<i16, lowp> lowp_i16vec2;
416 
419  typedef tvec3<i16, lowp> lowp_i16vec3;
420 
423  typedef tvec4<i16, lowp> lowp_i16vec4;
424 
425 
428  typedef tvec1<i16, mediump> mediump_i16vec1;
429 
432  typedef tvec2<i16, mediump> mediump_i16vec2;
433 
436  typedef tvec3<i16, mediump> mediump_i16vec3;
437 
440  typedef tvec4<i16, mediump> mediump_i16vec4;
441 
442 
445  typedef tvec1<i16, highp> highp_i16vec1;
446 
449  typedef tvec2<i16, highp> highp_i16vec2;
450 
453  typedef tvec3<i16, highp> highp_i16vec3;
454 
457  typedef tvec4<i16, highp> highp_i16vec4;
458 
459 
460 #if(defined(GLM_PRECISION_LOWP_INT))
461  typedef lowp_i16vec1 i16vec1;
462  typedef lowp_i16vec2 i16vec2;
463  typedef lowp_i16vec3 i16vec3;
464  typedef lowp_i16vec4 i16vec4;
465 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
466  typedef mediump_i16vec1 i16vec1;
467  typedef mediump_i16vec2 i16vec2;
468  typedef mediump_i16vec3 i16vec3;
469  typedef mediump_i16vec4 i16vec4;
470 #else
471  typedef highp_i16vec1 i16vec1;
474 
477  typedef highp_i16vec2 i16vec2;
478 
481  typedef highp_i16vec3 i16vec3;
482 
485  typedef highp_i16vec4 i16vec4;
486 #endif
487 
488 
491  typedef tvec1<i32, lowp> lowp_i32vec1;
492 
495  typedef tvec2<i32, lowp> lowp_i32vec2;
496 
499  typedef tvec3<i32, lowp> lowp_i32vec3;
500 
503  typedef tvec4<i32, lowp> lowp_i32vec4;
504 
505 
508  typedef tvec1<i32, mediump> mediump_i32vec1;
509 
512  typedef tvec2<i32, mediump> mediump_i32vec2;
513 
516  typedef tvec3<i32, mediump> mediump_i32vec3;
517 
520  typedef tvec4<i32, mediump> mediump_i32vec4;
521 
522 
525  typedef tvec1<i32, highp> highp_i32vec1;
526 
529  typedef tvec2<i32, highp> highp_i32vec2;
530 
533  typedef tvec3<i32, highp> highp_i32vec3;
534 
537  typedef tvec4<i32, highp> highp_i32vec4;
538 
539 #if(defined(GLM_PRECISION_LOWP_INT))
540  typedef lowp_i32vec1 i32vec1;
541  typedef lowp_i32vec2 i32vec2;
542  typedef lowp_i32vec3 i32vec3;
543  typedef lowp_i32vec4 i32vec4;
544 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
545  typedef mediump_i32vec1 i32vec1;
546  typedef mediump_i32vec2 i32vec2;
547  typedef mediump_i32vec3 i32vec3;
548  typedef mediump_i32vec4 i32vec4;
549 #else
550  typedef highp_i32vec1 i32vec1;
553 
556  typedef highp_i32vec2 i32vec2;
557 
560  typedef highp_i32vec3 i32vec3;
561 
564  typedef highp_i32vec4 i32vec4;
565 #endif
566 
567 
570  typedef tvec1<i32, lowp> lowp_i32vec1;
571 
574  typedef tvec2<i32, lowp> lowp_i32vec2;
575 
578  typedef tvec3<i32, lowp> lowp_i32vec3;
579 
582  typedef tvec4<i32, lowp> lowp_i32vec4;
583 
584 
587  typedef tvec1<i32, mediump> mediump_i32vec1;
588 
591  typedef tvec2<i32, mediump> mediump_i32vec2;
592 
595  typedef tvec3<i32, mediump> mediump_i32vec3;
596 
599  typedef tvec4<i32, mediump> mediump_i32vec4;
600 
601 
604  typedef tvec1<i32, highp> highp_i32vec1;
605 
608  typedef tvec2<i32, highp> highp_i32vec2;
609 
612  typedef tvec3<i32, highp> highp_i32vec3;
613 
616  typedef tvec4<i32, highp> highp_i32vec4;
617 
618 #if(defined(GLM_PRECISION_LOWP_INT))
619  typedef lowp_i32vec1 i32vec1;
620  typedef lowp_i32vec2 i32vec2;
621  typedef lowp_i32vec3 i32vec3;
622  typedef lowp_i32vec4 i32vec4;
623 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
624  typedef mediump_i32vec1 i32vec1;
625  typedef mediump_i32vec2 i32vec2;
626  typedef mediump_i32vec3 i32vec3;
627  typedef mediump_i32vec4 i32vec4;
628 #else
629  typedef highp_i32vec1 i32vec1;
632 
635  typedef highp_i32vec2 i32vec2;
636 
639  typedef highp_i32vec3 i32vec3;
640 
643  typedef highp_i32vec4 i32vec4;
644 #endif
645 
646 
647 
650  typedef tvec1<i64, lowp> lowp_i64vec1;
651 
654  typedef tvec2<i64, lowp> lowp_i64vec2;
655 
658  typedef tvec3<i64, lowp> lowp_i64vec3;
659 
662  typedef tvec4<i64, lowp> lowp_i64vec4;
663 
664 
667  typedef tvec1<i64, mediump> mediump_i64vec1;
668 
671  typedef tvec2<i64, mediump> mediump_i64vec2;
672 
675  typedef tvec3<i64, mediump> mediump_i64vec3;
676 
679  typedef tvec4<i64, mediump> mediump_i64vec4;
680 
681 
684  typedef tvec1<i64, highp> highp_i64vec1;
685 
688  typedef tvec2<i64, highp> highp_i64vec2;
689 
692  typedef tvec3<i64, highp> highp_i64vec3;
693 
696  typedef tvec4<i64, highp> highp_i64vec4;
697 
698 #if(defined(GLM_PRECISION_LOWP_INT))
699  typedef lowp_i64vec1 i64vec1;
700  typedef lowp_i64vec2 i64vec2;
701  typedef lowp_i64vec3 i64vec3;
702  typedef lowp_i64vec4 i64vec4;
703 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
704  typedef mediump_i64vec1 i64vec1;
705  typedef mediump_i64vec2 i64vec2;
706  typedef mediump_i64vec3 i64vec3;
707  typedef mediump_i64vec4 i64vec4;
708 #else
709  typedef highp_i64vec1 i64vec1;
712 
715  typedef highp_i64vec2 i64vec2;
716 
719  typedef highp_i64vec3 i64vec3;
720 
723  typedef highp_i64vec4 i64vec4;
724 #endif
725 
726 
728  // Unsigned int vector types
729 
732  typedef detail::uint8 lowp_uint8;
733 
736  typedef detail::uint16 lowp_uint16;
737 
740  typedef detail::uint32 lowp_uint32;
741 
744  typedef detail::uint64 lowp_uint64;
745 
746 
749  typedef detail::uint8 lowp_uint8_t;
750 
753  typedef detail::uint16 lowp_uint16_t;
754 
757  typedef detail::uint32 lowp_uint32_t;
758 
761  typedef detail::uint64 lowp_uint64_t;
762 
763 
766  typedef detail::uint8 lowp_u8;
767 
770  typedef detail::uint16 lowp_u16;
771 
774  typedef detail::uint32 lowp_u32;
775 
778  typedef detail::uint64 lowp_u64;
779 
780 
781 
784  typedef detail::uint8 mediump_uint8;
785 
788  typedef detail::uint16 mediump_uint16;
789 
792  typedef detail::uint32 mediump_uint32;
793 
796  typedef detail::uint64 mediump_uint64;
797 
800  typedef detail::uint8 mediump_uint8_t;
801 
804  typedef detail::uint16 mediump_uint16_t;
805 
808  typedef detail::uint32 mediump_uint32_t;
809 
812  typedef detail::uint64 mediump_uint64_t;
813 
816  typedef detail::uint8 mediump_u8;
817 
820  typedef detail::uint16 mediump_u16;
821 
824  typedef detail::uint32 mediump_u32;
825 
828  typedef detail::uint64 mediump_u64;
829 
830 
831 
834  typedef detail::uint8 highp_uint8;
835 
838  typedef detail::uint16 highp_uint16;
839 
842  typedef detail::uint32 highp_uint32;
843 
846  typedef detail::uint64 highp_uint64;
847 
850  typedef detail::uint8 highp_uint8_t;
851 
854  typedef detail::uint16 highp_uint16_t;
855 
858  typedef detail::uint32 highp_uint32_t;
859 
862  typedef detail::uint64 highp_uint64_t;
863 
866  typedef detail::uint8 highp_u8;
867 
870  typedef detail::uint16 highp_u16;
871 
874  typedef detail::uint32 highp_u32;
875 
878  typedef detail::uint64 highp_u64;
879 
880 
881 
884  typedef detail::uint8 uint8;
885 
888  typedef detail::uint16 uint16;
889 
892  typedef detail::uint32 uint32;
893 
896  typedef detail::uint64 uint64;
897 
898 #if GLM_HAS_EXTENDED_INTEGER_TYPE
899  using std::uint8_t;
900  using std::uint16_t;
901  using std::uint32_t;
902  using std::uint64_t;
903 #else
904  typedef detail::uint8 uint8_t;
907 
910  typedef detail::uint16 uint16_t;
911 
914  typedef detail::uint32 uint32_t;
915 
918  typedef detail::uint64 uint64_t;
919 #endif
920 
923  typedef detail::uint8 u8;
924 
927  typedef detail::uint16 u16;
928 
931  typedef detail::uint32 u32;
932 
935  typedef detail::uint64 u64;
936 
937 
938 
941  typedef tvec1<u8, lowp> lowp_u8vec1;
942 
945  typedef tvec2<u8, lowp> lowp_u8vec2;
946 
949  typedef tvec3<u8, lowp> lowp_u8vec3;
950 
953  typedef tvec4<u8, lowp> lowp_u8vec4;
954 
955 
958  typedef tvec1<u8, mediump> mediump_u8vec1;
959 
962  typedef tvec2<u8, mediump> mediump_u8vec2;
963 
966  typedef tvec3<u8, mediump> mediump_u8vec3;
967 
970  typedef tvec4<u8, mediump> mediump_u8vec4;
971 
972 
975  typedef tvec1<u8, highp> highp_u8vec1;
976 
979  typedef tvec2<u8, highp> highp_u8vec2;
980 
983  typedef tvec3<u8, highp> highp_u8vec3;
984 
987  typedef tvec4<u8, highp> highp_u8vec4;
988 
989 #if(defined(GLM_PRECISION_LOWP_INT))
990  typedef lowp_u8vec1 u8vec1;
991  typedef lowp_u8vec2 u8vec2;
992  typedef lowp_u8vec3 u8vec3;
993  typedef lowp_u8vec4 u8vec4;
994 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
995  typedef mediump_u8vec1 u8vec1;
996  typedef mediump_u8vec2 u8vec2;
997  typedef mediump_u8vec3 u8vec3;
998  typedef mediump_u8vec4 u8vec4;
999 #else
1000  typedef highp_u8vec1 u8vec1;
1003 
1006  typedef highp_u8vec2 u8vec2;
1007 
1010  typedef highp_u8vec3 u8vec3;
1011 
1014  typedef highp_u8vec4 u8vec4;
1015 #endif
1016 
1017 
1020  typedef tvec1<u16, lowp> lowp_u16vec1;
1021 
1024  typedef tvec2<u16, lowp> lowp_u16vec2;
1025 
1028  typedef tvec3<u16, lowp> lowp_u16vec3;
1029 
1032  typedef tvec4<u16, lowp> lowp_u16vec4;
1033 
1034 
1037  typedef tvec1<u16, mediump> mediump_u16vec1;
1038 
1041  typedef tvec2<u16, mediump> mediump_u16vec2;
1042 
1045  typedef tvec3<u16, mediump> mediump_u16vec3;
1046 
1049  typedef tvec4<u16, mediump> mediump_u16vec4;
1050 
1051 
1054  typedef tvec1<u16, highp> highp_u16vec1;
1055 
1058  typedef tvec2<u16, highp> highp_u16vec2;
1059 
1062  typedef tvec3<u16, highp> highp_u16vec3;
1063 
1066  typedef tvec4<u16, highp> highp_u16vec4;
1067 
1068 
1069 #if(defined(GLM_PRECISION_LOWP_INT))
1070  typedef lowp_u16vec1 u16vec1;
1071  typedef lowp_u16vec2 u16vec2;
1072  typedef lowp_u16vec3 u16vec3;
1073  typedef lowp_u16vec4 u16vec4;
1074 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
1075  typedef mediump_u16vec1 u16vec1;
1076  typedef mediump_u16vec2 u16vec2;
1077  typedef mediump_u16vec3 u16vec3;
1078  typedef mediump_u16vec4 u16vec4;
1079 #else
1080  typedef highp_u16vec1 u16vec1;
1083 
1086  typedef highp_u16vec2 u16vec2;
1087 
1090  typedef highp_u16vec3 u16vec3;
1091 
1094  typedef highp_u16vec4 u16vec4;
1095 #endif
1096 
1097 
1100  typedef tvec1<u32, lowp> lowp_u32vec1;
1101 
1104  typedef tvec2<u32, lowp> lowp_u32vec2;
1105 
1108  typedef tvec3<u32, lowp> lowp_u32vec3;
1109 
1112  typedef tvec4<u32, lowp> lowp_u32vec4;
1113 
1114 
1117  typedef tvec1<u32, mediump> mediump_u32vec1;
1118 
1121  typedef tvec2<u32, mediump> mediump_u32vec2;
1122 
1125  typedef tvec3<u32, mediump> mediump_u32vec3;
1126 
1129  typedef tvec4<u32, mediump> mediump_u32vec4;
1130 
1131 
1134  typedef tvec1<u32, highp> highp_u32vec1;
1135 
1138  typedef tvec2<u32, highp> highp_u32vec2;
1139 
1142  typedef tvec3<u32, highp> highp_u32vec3;
1143 
1146  typedef tvec4<u32, highp> highp_u32vec4;
1147 
1148 #if(defined(GLM_PRECISION_LOWP_INT))
1149  typedef lowp_u32vec1 u32vec1;
1150  typedef lowp_u32vec2 u32vec2;
1151  typedef lowp_u32vec3 u32vec3;
1152  typedef lowp_u32vec4 u32vec4;
1153 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
1154  typedef mediump_u32vec1 u32vec1;
1155  typedef mediump_u32vec2 u32vec2;
1156  typedef mediump_u32vec3 u32vec3;
1157  typedef mediump_u32vec4 u32vec4;
1158 #else
1159  typedef highp_u32vec1 u32vec1;
1162 
1165  typedef highp_u32vec2 u32vec2;
1166 
1169  typedef highp_u32vec3 u32vec3;
1170 
1173  typedef highp_u32vec4 u32vec4;
1174 #endif
1175 
1176 
1179  typedef tvec1<u32, lowp> lowp_u32vec1;
1180 
1183  typedef tvec2<u32, lowp> lowp_u32vec2;
1184 
1187  typedef tvec3<u32, lowp> lowp_u32vec3;
1188 
1191  typedef tvec4<u32, lowp> lowp_u32vec4;
1192 
1193 
1196  typedef tvec1<u32, mediump> mediump_u32vec1;
1197 
1200  typedef tvec2<u32, mediump> mediump_u32vec2;
1201 
1204  typedef tvec3<u32, mediump> mediump_u32vec3;
1205 
1208  typedef tvec4<u32, mediump> mediump_u32vec4;
1209 
1210 
1213  typedef tvec1<u32, highp> highp_u32vec1;
1214 
1217  typedef tvec2<u32, highp> highp_u32vec2;
1218 
1221  typedef tvec3<u32, highp> highp_u32vec3;
1222 
1225  typedef tvec4<u32, highp> highp_u32vec4;
1226 
1227 #if(defined(GLM_PRECISION_LOWP_INT))
1228  typedef lowp_u32vec1 u32vec1;
1229  typedef lowp_u32vec2 u32vec2;
1230  typedef lowp_u32vec3 u32vec3;
1231  typedef lowp_u32vec4 u32vec4;
1232 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
1233  typedef mediump_u32vec1 u32vec1;
1234  typedef mediump_u32vec2 u32vec2;
1235  typedef mediump_u32vec3 u32vec3;
1236  typedef mediump_u32vec4 u32vec4;
1237 #else
1238  typedef highp_u32vec1 u32vec1;
1241 
1244  typedef highp_u32vec2 u32vec2;
1245 
1248  typedef highp_u32vec3 u32vec3;
1249 
1252  typedef highp_u32vec4 u32vec4;
1253 #endif
1254 
1255 
1256 
1259  typedef tvec1<u64, lowp> lowp_u64vec1;
1260 
1263  typedef tvec2<u64, lowp> lowp_u64vec2;
1264 
1267  typedef tvec3<u64, lowp> lowp_u64vec3;
1268 
1271  typedef tvec4<u64, lowp> lowp_u64vec4;
1272 
1273 
1276  typedef tvec1<u64, mediump> mediump_u64vec1;
1277 
1280  typedef tvec2<u64, mediump> mediump_u64vec2;
1281 
1284  typedef tvec3<u64, mediump> mediump_u64vec3;
1285 
1288  typedef tvec4<u64, mediump> mediump_u64vec4;
1289 
1290 
1293  typedef tvec1<u64, highp> highp_u64vec1;
1294 
1297  typedef tvec2<u64, highp> highp_u64vec2;
1298 
1301  typedef tvec3<u64, highp> highp_u64vec3;
1302 
1305  typedef tvec4<u64, highp> highp_u64vec4;
1306 
1307 #if(defined(GLM_PRECISION_LOWP_UINT))
1308  typedef lowp_u64vec1 u64vec1;
1309  typedef lowp_u64vec2 u64vec2;
1310  typedef lowp_u64vec3 u64vec3;
1311  typedef lowp_u64vec4 u64vec4;
1312 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
1313  typedef mediump_u64vec1 u64vec1;
1314  typedef mediump_u64vec2 u64vec2;
1315  typedef mediump_u64vec3 u64vec3;
1316  typedef mediump_u64vec4 u64vec4;
1317 #else
1318  typedef highp_u64vec1 u64vec1;
1321 
1324  typedef highp_u64vec2 u64vec2;
1325 
1328  typedef highp_u64vec3 u64vec3;
1329 
1332  typedef highp_u64vec4 u64vec4;
1333 #endif
1334 
1335 
1337  // Float vector types
1338 
1341  typedef detail::float32 lowp_float32;
1342 
1345  typedef detail::float64 lowp_float64;
1346 
1349  typedef detail::float32 lowp_float32_t;
1350 
1353  typedef detail::float64 lowp_float64_t;
1354 
1357  typedef float32 lowp_f32;
1358 
1361  typedef float64 lowp_f64;
1362 
1365  typedef detail::float32 lowp_float32;
1366 
1369  typedef detail::float64 lowp_float64;
1370 
1373  typedef detail::float32 lowp_float32_t;
1374 
1377  typedef detail::float64 lowp_float64_t;
1378 
1381  typedef float32 lowp_f32;
1382 
1385  typedef float64 lowp_f64;
1386 
1387 
1390  typedef detail::float32 lowp_float32;
1391 
1394  typedef detail::float64 lowp_float64;
1395 
1398  typedef detail::float32 lowp_float32_t;
1399 
1402  typedef detail::float64 lowp_float64_t;
1403 
1406  typedef float32 lowp_f32;
1407 
1410  typedef float64 lowp_f64;
1411 
1412 
1415  typedef detail::float32 mediump_float32;
1416 
1419  typedef detail::float64 mediump_float64;
1420 
1423  typedef detail::float32 mediump_float32_t;
1424 
1427  typedef detail::float64 mediump_float64_t;
1428 
1431  typedef float32 mediump_f32;
1432 
1435  typedef float64 mediump_f64;
1436 
1437 
1440  typedef detail::float32 highp_float32;
1441 
1444  typedef detail::float64 highp_float64;
1445 
1448  typedef detail::float32 highp_float32_t;
1449 
1452  typedef detail::float64 highp_float64_t;
1453 
1456  typedef float32 highp_f32;
1457 
1460  typedef float64 highp_f64;
1461 
1462 
1463 #if(defined(GLM_PRECISION_LOWP_FLOAT))
1464  typedef lowp_float32 float32;
1467 
1470  typedef lowp_float64 float64;
1471 
1474  typedef lowp_float32_t float32_t;
1475 
1478  typedef lowp_float64_t float64_t;
1479 
1482  typedef lowp_f32 f32;
1483 
1486  typedef lowp_f64 f64;
1487 
1488 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
1489 
1492  typedef mediump_float32 float32;
1493 
1496  typedef mediump_float64 float64;
1497 
1500  typedef mediump_float32 float32_t;
1501 
1504  typedef mediump_float64 float64_t;
1505 
1508  typedef mediump_float32 f32;
1509 
1512  typedef mediump_float64 f64;
1513 
1514 #else//(defined(GLM_PRECISION_HIGHP_FLOAT))
1515 
1518  typedef highp_float32 float32;
1519 
1522  typedef highp_float64 float64;
1523 
1526  typedef highp_float32_t float32_t;
1527 
1530  typedef highp_float64_t float64_t;
1531 
1534  typedef highp_float32_t f32;
1535 
1538  typedef highp_float64_t f64;
1539 #endif
1540 
1541 
1544  typedef tvec1<float, lowp> lowp_vec1;
1545 
1548  typedef tvec2<float, lowp> lowp_vec2;
1549 
1552  typedef tvec3<float, lowp> lowp_vec3;
1553 
1556  typedef tvec4<float, lowp> lowp_vec4;
1557 
1560  typedef tvec1<float, lowp> lowp_fvec1;
1561 
1564  typedef tvec2<float, lowp> lowp_fvec2;
1565 
1568  typedef tvec3<float, lowp> lowp_fvec3;
1569 
1572  typedef tvec4<float, lowp> lowp_fvec4;
1573 
1574 
1577  typedef tvec1<float, mediump> mediump_vec1;
1578 
1581  typedef tvec2<float, mediump> mediump_vec2;
1582 
1585  typedef tvec3<float, mediump> mediump_vec3;
1586 
1589  typedef tvec4<float, mediump> mediump_vec4;
1590 
1593  typedef tvec1<float, mediump> mediump_fvec1;
1594 
1597  typedef tvec2<float, mediump> mediump_fvec2;
1598 
1601  typedef tvec3<float, mediump> mediump_fvec3;
1602 
1605  typedef tvec4<float, mediump> mediump_fvec4;
1606 
1607 
1610  typedef tvec1<float, highp> highp_vec1;
1611 
1614  typedef tvec2<float, highp> highp_vec2;
1615 
1618  typedef tvec3<float, highp> highp_vec3;
1619 
1622  typedef tvec4<float, highp> highp_vec4;
1623 
1626  typedef tvec1<float, highp> highp_fvec1;
1627 
1630  typedef tvec2<float, highp> highp_fvec2;
1631 
1634  typedef tvec3<float, highp> highp_fvec3;
1635 
1638  typedef tvec4<float, highp> highp_fvec4;
1639 
1640 
1643  typedef tvec1<f32, lowp> lowp_f32vec1;
1644 
1647  typedef tvec2<f32, lowp> lowp_f32vec2;
1648 
1651  typedef tvec3<f32, lowp> lowp_f32vec3;
1652 
1655  typedef tvec4<f32, lowp> lowp_f32vec4;
1656 
1659  typedef tvec1<f32, mediump> mediump_f32vec1;
1660 
1663  typedef tvec2<f32, mediump> mediump_f32vec2;
1664 
1667  typedef tvec3<f32, mediump> mediump_f32vec3;
1668 
1671  typedef tvec4<f32, mediump> mediump_f32vec4;
1672 
1675  typedef tvec1<f32, highp> highp_f32vec1;
1676 
1679  typedef tvec2<f32, highp> highp_f32vec2;
1680 
1683  typedef tvec3<f32, highp> highp_f32vec3;
1684 
1687  typedef tvec4<f32, highp> highp_f32vec4;
1688 
1689 
1692  typedef tvec1<f64, lowp> lowp_f64vec1;
1693 
1696  typedef tvec2<f64, lowp> lowp_f64vec2;
1697 
1700  typedef tvec3<f64, lowp> lowp_f64vec3;
1701 
1704  typedef tvec4<f64, lowp> lowp_f64vec4;
1705 
1708  typedef tvec1<f64, mediump> mediump_f64vec1;
1709 
1712  typedef tvec2<f64, mediump> mediump_f64vec2;
1713 
1716  typedef tvec3<f64, mediump> mediump_f64vec3;
1717 
1720  typedef tvec4<f64, mediump> mediump_f64vec4;
1721 
1724  typedef tvec1<f64, highp> highp_f64vec1;
1725 
1728  typedef tvec2<f64, highp> highp_f64vec2;
1729 
1732  typedef tvec3<f64, highp> highp_f64vec3;
1733 
1736  typedef tvec4<f64, highp> highp_f64vec4;
1737 
1738 
1740  // Float matrix types
1741 
1744  //typedef lowp_f32 lowp_fmat1x1;
1745 
1748  typedef tmat2x2<f32, lowp> lowp_fmat2x2;
1749 
1752  typedef tmat2x3<f32, lowp> lowp_fmat2x3;
1753 
1756  typedef tmat2x4<f32, lowp> lowp_fmat2x4;
1757 
1760  typedef tmat3x2<f32, lowp> lowp_fmat3x2;
1761 
1764  typedef tmat3x3<f32, lowp> lowp_fmat3x3;
1765 
1768  typedef tmat3x4<f32, lowp> lowp_fmat3x4;
1769 
1772  typedef tmat4x2<f32, lowp> lowp_fmat4x2;
1773 
1776  typedef tmat4x3<f32, lowp> lowp_fmat4x3;
1777 
1780  typedef tmat4x4<f32, lowp> lowp_fmat4x4;
1781 
1784  //typedef lowp_fmat1x1 lowp_fmat1;
1785 
1788  typedef lowp_fmat2x2 lowp_fmat2;
1789 
1792  typedef lowp_fmat3x3 lowp_fmat3;
1793 
1796  typedef lowp_fmat4x4 lowp_fmat4;
1797 
1798 
1801  //typedef mediump_f32 mediump_fmat1x1;
1802 
1805  typedef tmat2x2<f32, mediump> mediump_fmat2x2;
1806 
1809  typedef tmat2x3<f32, mediump> mediump_fmat2x3;
1810 
1813  typedef tmat2x4<f32, mediump> mediump_fmat2x4;
1814 
1817  typedef tmat3x2<f32, mediump> mediump_fmat3x2;
1818 
1821  typedef tmat3x3<f32, mediump> mediump_fmat3x3;
1822 
1825  typedef tmat3x4<f32, mediump> mediump_fmat3x4;
1826 
1829  typedef tmat4x2<f32, mediump> mediump_fmat4x2;
1830 
1833  typedef tmat4x3<f32, mediump> mediump_fmat4x3;
1834 
1837  typedef tmat4x4<f32, mediump> mediump_fmat4x4;
1838 
1841  //typedef mediump_fmat1x1 mediump_fmat1;
1842 
1845  typedef mediump_fmat2x2 mediump_fmat2;
1846 
1849  typedef mediump_fmat3x3 mediump_fmat3;
1850 
1853  typedef mediump_fmat4x4 mediump_fmat4;
1854 
1855 
1858  //typedef highp_f32 highp_fmat1x1;
1859 
1862  typedef tmat2x2<f32, highp> highp_fmat2x2;
1863 
1866  typedef tmat2x3<f32, highp> highp_fmat2x3;
1867 
1870  typedef tmat2x4<f32, highp> highp_fmat2x4;
1871 
1874  typedef tmat3x2<f32, highp> highp_fmat3x2;
1875 
1878  typedef tmat3x3<f32, highp> highp_fmat3x3;
1879 
1882  typedef tmat3x4<f32, highp> highp_fmat3x4;
1883 
1886  typedef tmat4x2<f32, highp> highp_fmat4x2;
1887 
1890  typedef tmat4x3<f32, highp> highp_fmat4x3;
1891 
1894  typedef tmat4x4<f32, highp> highp_fmat4x4;
1895 
1898  //typedef highp_fmat1x1 highp_fmat1;
1899 
1902  typedef highp_fmat2x2 highp_fmat2;
1903 
1906  typedef highp_fmat3x3 highp_fmat3;
1907 
1910  typedef highp_fmat4x4 highp_fmat4;
1911 
1912 
1915  //typedef f32 lowp_f32mat1x1;
1916 
1919  typedef tmat2x2<f32, lowp> lowp_f32mat2x2;
1920 
1923  typedef tmat2x3<f32, lowp> lowp_f32mat2x3;
1924 
1927  typedef tmat2x4<f32, lowp> lowp_f32mat2x4;
1928 
1931  typedef tmat3x2<f32, lowp> lowp_f32mat3x2;
1932 
1935  typedef tmat3x3<f32, lowp> lowp_f32mat3x3;
1936 
1939  typedef tmat3x4<f32, lowp> lowp_f32mat3x4;
1940 
1943  typedef tmat4x2<f32, lowp> lowp_f32mat4x2;
1944 
1947  typedef tmat4x3<f32, lowp> lowp_f32mat4x3;
1948 
1951  typedef tmat4x4<f32, lowp> lowp_f32mat4x4;
1952 
1955  //typedef detail::tmat1x1<f32, lowp> lowp_f32mat1;
1956 
1959  typedef lowp_f32mat2x2 lowp_f32mat2;
1960 
1963  typedef lowp_f32mat3x3 lowp_f32mat3;
1964 
1967  typedef lowp_f32mat4x4 lowp_f32mat4;
1968 
1969 
1972  //typedef f32 mediump_f32mat1x1;
1973 
1976  typedef tmat2x2<f32, mediump> mediump_f32mat2x2;
1977 
1980  typedef tmat2x3<f32, mediump> mediump_f32mat2x3;
1981 
1984  typedef tmat2x4<f32, mediump> mediump_f32mat2x4;
1985 
1988  typedef tmat3x2<f32, mediump> mediump_f32mat3x2;
1989 
1992  typedef tmat3x3<f32, mediump> mediump_f32mat3x3;
1993 
1996  typedef tmat3x4<f32, mediump> mediump_f32mat3x4;
1997 
2000  typedef tmat4x2<f32, mediump> mediump_f32mat4x2;
2001 
2004  typedef tmat4x3<f32, mediump> mediump_f32mat4x3;
2005 
2008  typedef tmat4x4<f32, mediump> mediump_f32mat4x4;
2009 
2012  //typedef detail::tmat1x1<f32, mediump> f32mat1;
2013 
2016  typedef mediump_f32mat2x2 mediump_f32mat2;
2017 
2020  typedef mediump_f32mat3x3 mediump_f32mat3;
2021 
2024  typedef mediump_f32mat4x4 mediump_f32mat4;
2025 
2026 
2029  //typedef f32 highp_f32mat1x1;
2030 
2033  typedef tmat2x2<f32, highp> highp_f32mat2x2;
2034 
2037  typedef tmat2x3<f32, highp> highp_f32mat2x3;
2038 
2041  typedef tmat2x4<f32, highp> highp_f32mat2x4;
2042 
2045  typedef tmat3x2<f32, highp> highp_f32mat3x2;
2046 
2049  typedef tmat3x3<f32, highp> highp_f32mat3x3;
2050 
2053  typedef tmat3x4<f32, highp> highp_f32mat3x4;
2054 
2057  typedef tmat4x2<f32, highp> highp_f32mat4x2;
2058 
2061  typedef tmat4x3<f32, highp> highp_f32mat4x3;
2062 
2065  typedef tmat4x4<f32, highp> highp_f32mat4x4;
2066 
2069  //typedef detail::tmat1x1<f32, highp> f32mat1;
2070 
2073  typedef highp_f32mat2x2 highp_f32mat2;
2074 
2077  typedef highp_f32mat3x3 highp_f32mat3;
2078 
2081  typedef highp_f32mat4x4 highp_f32mat4;
2082 
2083 
2086  //typedef f64 lowp_f64mat1x1;
2087 
2090  typedef tmat2x2<f64, lowp> lowp_f64mat2x2;
2091 
2094  typedef tmat2x3<f64, lowp> lowp_f64mat2x3;
2095 
2098  typedef tmat2x4<f64, lowp> lowp_f64mat2x4;
2099 
2102  typedef tmat3x2<f64, lowp> lowp_f64mat3x2;
2103 
2106  typedef tmat3x3<f64, lowp> lowp_f64mat3x3;
2107 
2110  typedef tmat3x4<f64, lowp> lowp_f64mat3x4;
2111 
2114  typedef tmat4x2<f64, lowp> lowp_f64mat4x2;
2115 
2118  typedef tmat4x3<f64, lowp> lowp_f64mat4x3;
2119 
2122  typedef tmat4x4<f64, lowp> lowp_f64mat4x4;
2123 
2126  //typedef lowp_f64mat1x1 lowp_f64mat1;
2127 
2130  typedef lowp_f64mat2x2 lowp_f64mat2;
2131 
2134  typedef lowp_f64mat3x3 lowp_f64mat3;
2135 
2138  typedef lowp_f64mat4x4 lowp_f64mat4;
2139 
2140 
2143  //typedef f64 Highp_f64mat1x1;
2144 
2147  typedef tmat2x2<f64, mediump> mediump_f64mat2x2;
2148 
2151  typedef tmat2x3<f64, mediump> mediump_f64mat2x3;
2152 
2155  typedef tmat2x4<f64, mediump> mediump_f64mat2x4;
2156 
2159  typedef tmat3x2<f64, mediump> mediump_f64mat3x2;
2160 
2163  typedef tmat3x3<f64, mediump> mediump_f64mat3x3;
2164 
2167  typedef tmat3x4<f64, mediump> mediump_f64mat3x4;
2168 
2171  typedef tmat4x2<f64, mediump> mediump_f64mat4x2;
2172 
2175  typedef tmat4x3<f64, mediump> mediump_f64mat4x3;
2176 
2179  typedef tmat4x4<f64, mediump> mediump_f64mat4x4;
2180 
2183  //typedef mediump_f64mat1x1 mediump_f64mat1;
2184 
2187  typedef mediump_f64mat2x2 mediump_f64mat2;
2188 
2191  typedef mediump_f64mat3x3 mediump_f64mat3;
2192 
2195  typedef mediump_f64mat4x4 mediump_f64mat4;
2196 
2199  //typedef f64 highp_f64mat1x1;
2200 
2203  typedef tmat2x2<f64, highp> highp_f64mat2x2;
2204 
2207  typedef tmat2x3<f64, highp> highp_f64mat2x3;
2208 
2211  typedef tmat2x4<f64, highp> highp_f64mat2x4;
2212 
2215  typedef tmat3x2<f64, highp> highp_f64mat3x2;
2216 
2219  typedef tmat3x3<f64, highp> highp_f64mat3x3;
2220 
2223  typedef tmat3x4<f64, highp> highp_f64mat3x4;
2224 
2227  typedef tmat4x2<f64, highp> highp_f64mat4x2;
2228 
2231  typedef tmat4x3<f64, highp> highp_f64mat4x3;
2232 
2235  typedef tmat4x4<f64, highp> highp_f64mat4x4;
2236 
2239  //typedef highp_f64mat1x1 highp_f64mat1;
2240 
2243  typedef highp_f64mat2x2 highp_f64mat2;
2244 
2247  typedef highp_f64mat3x3 highp_f64mat3;
2248 
2251  typedef highp_f64mat4x4 highp_f64mat4;
2252 
2254  // Quaternion types
2255 
2258  typedef tquat<f32, lowp> lowp_f32quat;
2259 
2262  typedef tquat<f64, lowp> lowp_f64quat;
2263 
2266  typedef tquat<f32, mediump> mediump_f32quat;
2267 
2270  typedef tquat<f64, mediump> mediump_f64quat;
2271 
2274  typedef tquat<f32, highp> highp_f32quat;
2275 
2278  typedef tquat<f64, highp> highp_f64quat;
2279 
2280 
2281 #if(defined(GLM_PRECISION_LOWP_FLOAT))
2282  typedef lowp_f32vec1 fvec1;
2283  typedef lowp_f32vec2 fvec2;
2284  typedef lowp_f32vec3 fvec3;
2285  typedef lowp_f32vec4 fvec4;
2286  typedef lowp_f32mat2 fmat2;
2287  typedef lowp_f32mat3 fmat3;
2288  typedef lowp_f32mat4 fmat4;
2289  typedef lowp_f32mat2x2 fmat2x2;
2290  typedef lowp_f32mat3x2 fmat3x2;
2291  typedef lowp_f32mat4x2 fmat4x2;
2292  typedef lowp_f32mat2x3 fmat2x3;
2293  typedef lowp_f32mat3x3 fmat3x3;
2294  typedef lowp_f32mat4x3 fmat4x3;
2295  typedef lowp_f32mat2x4 fmat2x4;
2296  typedef lowp_f32mat3x4 fmat3x4;
2297  typedef lowp_f32mat4x4 fmat4x4;
2298  typedef lowp_f32quat fquat;
2299 
2300  typedef lowp_f32vec1 f32vec1;
2301  typedef lowp_f32vec2 f32vec2;
2302  typedef lowp_f32vec3 f32vec3;
2303  typedef lowp_f32vec4 f32vec4;
2304  typedef lowp_f32mat2 f32mat2;
2305  typedef lowp_f32mat3 f32mat3;
2306  typedef lowp_f32mat4 f32mat4;
2307  typedef lowp_f32mat2x2 f32mat2x2;
2308  typedef lowp_f32mat3x2 f32mat3x2;
2309  typedef lowp_f32mat4x2 f32mat4x2;
2310  typedef lowp_f32mat2x3 f32mat2x3;
2311  typedef lowp_f32mat3x3 f32mat3x3;
2312  typedef lowp_f32mat4x3 f32mat4x3;
2313  typedef lowp_f32mat2x4 f32mat2x4;
2314  typedef lowp_f32mat3x4 f32mat3x4;
2315  typedef lowp_f32mat4x4 f32mat4x4;
2316  typedef lowp_f32quat f32quat;
2317 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
2318  typedef mediump_f32vec1 fvec1;
2319  typedef mediump_f32vec2 fvec2;
2320  typedef mediump_f32vec3 fvec3;
2321  typedef mediump_f32vec4 fvec4;
2322  typedef mediump_f32mat2 fmat2;
2323  typedef mediump_f32mat3 fmat3;
2324  typedef mediump_f32mat4 fmat4;
2325  typedef mediump_f32mat2x2 fmat2x2;
2326  typedef mediump_f32mat3x2 fmat3x2;
2327  typedef mediump_f32mat4x2 fmat4x2;
2328  typedef mediump_f32mat2x3 fmat2x3;
2329  typedef mediump_f32mat3x3 fmat3x3;
2330  typedef mediump_f32mat4x3 fmat4x3;
2331  typedef mediump_f32mat2x4 fmat2x4;
2332  typedef mediump_f32mat3x4 fmat3x4;
2333  typedef mediump_f32mat4x4 fmat4x4;
2334  typedef mediump_f32quat fquat;
2335 
2336  typedef mediump_f32vec1 f32vec1;
2337  typedef mediump_f32vec2 f32vec2;
2338  typedef mediump_f32vec3 f32vec3;
2339  typedef mediump_f32vec4 f32vec4;
2340  typedef mediump_f32mat2 f32mat2;
2341  typedef mediump_f32mat3 f32mat3;
2342  typedef mediump_f32mat4 f32mat4;
2343  typedef mediump_f32mat2x2 f32mat2x2;
2344  typedef mediump_f32mat3x2 f32mat3x2;
2345  typedef mediump_f32mat4x2 f32mat4x2;
2346  typedef mediump_f32mat2x3 f32mat2x3;
2347  typedef mediump_f32mat3x3 f32mat3x3;
2348  typedef mediump_f32mat4x3 f32mat4x3;
2349  typedef mediump_f32mat2x4 f32mat2x4;
2350  typedef mediump_f32mat3x4 f32mat3x4;
2351  typedef mediump_f32mat4x4 f32mat4x4;
2352  typedef mediump_f32quat f32quat;
2353 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT))
2354  typedef highp_f32vec1 fvec1;
2357 
2360  typedef highp_f32vec2 fvec2;
2361 
2364  typedef highp_f32vec3 fvec3;
2365 
2368  typedef highp_f32vec4 fvec4;
2369 
2372  typedef highp_f32mat2x2 fmat2x2;
2373 
2376  typedef highp_f32mat2x3 fmat2x3;
2377 
2380  typedef highp_f32mat2x4 fmat2x4;
2381 
2384  typedef highp_f32mat3x2 fmat3x2;
2385 
2388  typedef highp_f32mat3x3 fmat3x3;
2389 
2392  typedef highp_f32mat3x4 fmat3x4;
2393 
2396  typedef highp_f32mat4x2 fmat4x2;
2397 
2400  typedef highp_f32mat4x3 fmat4x3;
2401 
2404  typedef highp_f32mat4x4 fmat4x4;
2405 
2408  typedef fmat2x2 fmat2;
2409 
2412  typedef fmat3x3 fmat3;
2413 
2416  typedef fmat4x4 fmat4;
2417 
2420  typedef highp_fquat fquat;
2421 
2422 
2423 
2426  typedef highp_f32vec1 f32vec1;
2427 
2430  typedef highp_f32vec2 f32vec2;
2431 
2434  typedef highp_f32vec3 f32vec3;
2435 
2438  typedef highp_f32vec4 f32vec4;
2439 
2442  typedef highp_f32mat2x2 f32mat2x2;
2443 
2446  typedef highp_f32mat2x3 f32mat2x3;
2447 
2450  typedef highp_f32mat2x4 f32mat2x4;
2451 
2454  typedef highp_f32mat3x2 f32mat3x2;
2455 
2458  typedef highp_f32mat3x3 f32mat3x3;
2459 
2462  typedef highp_f32mat3x4 f32mat3x4;
2463 
2466  typedef highp_f32mat4x2 f32mat4x2;
2467 
2470  typedef highp_f32mat4x3 f32mat4x3;
2471 
2474  typedef highp_f32mat4x4 f32mat4x4;
2475 
2478  typedef f32mat2x2 f32mat2;
2479 
2482  typedef f32mat3x3 f32mat3;
2483 
2486  typedef f32mat4x4 f32mat4;
2487 
2490  typedef highp_f32quat f32quat;
2491 #endif
2492 
2493 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
2494  typedef lowp_f64vec1 f64vec1;
2495  typedef lowp_f64vec2 f64vec2;
2496  typedef lowp_f64vec3 f64vec3;
2497  typedef lowp_f64vec4 f64vec4;
2498  typedef lowp_f64mat2 f64mat2;
2499  typedef lowp_f64mat3 f64mat3;
2500  typedef lowp_f64mat4 f64mat4;
2501  typedef lowp_f64mat2x2 f64mat2x2;
2502  typedef lowp_f64mat3x2 f64mat3x2;
2503  typedef lowp_f64mat4x2 f64mat4x2;
2504  typedef lowp_f64mat2x3 f64mat2x3;
2505  typedef lowp_f64mat3x3 f64mat3x3;
2506  typedef lowp_f64mat4x3 f64mat4x3;
2507  typedef lowp_f64mat2x4 f64mat2x4;
2508  typedef lowp_f64mat3x4 f64mat3x4;
2509  typedef lowp_f64mat4x4 f64mat4x4;
2510  typedef lowp_f64quat f64quat;
2511 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
2512  typedef mediump_f64vec1 f64vec1;
2513  typedef mediump_f64vec2 f64vec2;
2514  typedef mediump_f64vec3 f64vec3;
2515  typedef mediump_f64vec4 f64vec4;
2516  typedef mediump_f64mat2 f64mat2;
2517  typedef mediump_f64mat3 f64mat3;
2518  typedef mediump_f64mat4 f64mat4;
2519  typedef mediump_f64mat2x2 f64mat2x2;
2520  typedef mediump_f64mat3x2 f64mat3x2;
2521  typedef mediump_f64mat4x2 f64mat4x2;
2522  typedef mediump_f64mat2x3 f64mat2x3;
2523  typedef mediump_f64mat3x3 f64mat3x3;
2524  typedef mediump_f64mat4x3 f64mat4x3;
2525  typedef mediump_f64mat2x4 f64mat2x4;
2526  typedef mediump_f64mat3x4 f64mat3x4;
2527  typedef mediump_f64mat4x4 f64mat4x4;
2528  typedef mediump_f64quat f64quat;
2529 #else
2530  typedef highp_f64vec1 f64vec1;
2533 
2536  typedef highp_f64vec2 f64vec2;
2537 
2540  typedef highp_f64vec3 f64vec3;
2541 
2544  typedef highp_f64vec4 f64vec4;
2545 
2548  typedef highp_f64mat2x2 f64mat2x2;
2549 
2552  typedef highp_f64mat2x3 f64mat2x3;
2553 
2556  typedef highp_f64mat2x4 f64mat2x4;
2557 
2560  typedef highp_f64mat3x2 f64mat3x2;
2561 
2564  typedef highp_f64mat3x3 f64mat3x3;
2565 
2568  typedef highp_f64mat3x4 f64mat3x4;
2569 
2572  typedef highp_f64mat4x2 f64mat4x2;
2573 
2576  typedef highp_f64mat4x3 f64mat4x3;
2577 
2580  typedef highp_f64mat4x4 f64mat4x4;
2581 
2584  typedef f64mat2x2 f64mat2;
2585 
2588  typedef f64mat3x3 f64mat3;
2589 
2592  typedef f64mat4x4 f64mat4;
2593 
2596  typedef highp_f64quat f64quat;
2597 #endif
2598 
2599 }//namespace glm
tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:69
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:297
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:740
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:157
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:133
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1082
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:931
tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:186
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:736
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2364
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2388
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:723
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2482
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:816
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:269
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1165
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1014
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:253
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:715
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:305
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:485
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:217
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:129
tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:76
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:935
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:766
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:314
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:784
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2592
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:757
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:221
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:228
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:719
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:265
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:774
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:261
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:257
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1169
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2416
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:824
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2360
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:177
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:874
tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:179
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:812
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:552
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:866
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1090
tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:285
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:477
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2478
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:564
tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:291
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:231
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:141
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2450
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2454
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2544
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2584
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:169
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:796
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2430
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:927
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1538
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2588
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2532
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2368
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:209
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2474
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2548
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1530
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:1002
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2396
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1006
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:226
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1320
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:834
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:820
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2564
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:792
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:227
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2466
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:229
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:84
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:233
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:193
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2490
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:232
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:405
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:225
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2556
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1094
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1324
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:862
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1534
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:161
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2426
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:914
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:923
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:770
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2380
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2356
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:165
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:749
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:556
Definition: _noise.hpp:40
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:788
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2596
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:241
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:850
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:393
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:473
OpenGL Mathematics (glm.g-truc.net)
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:205
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2372
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:145
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:838
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:85
OpenGL Mathematics (glm.g-truc.net)
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:744
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2376
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1526
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:401
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2384
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:213
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:804
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1173
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2568
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:753
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:181
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2392
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2400
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1010
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2540
tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:83
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1332
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:197
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:233
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:149
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2576
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:808
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:201
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:906
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2560
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2442
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2458
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:854
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:397
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:245
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:137
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:878
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2572
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:185
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:309
tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:193
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2486
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:778
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:234
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:828
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:229
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:761
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:858
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:481
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2404
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:249
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:910
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2434
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2580
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2552
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:842
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:870
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2446
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2408
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:800
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:322
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2438
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:560
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1086
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:732
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:711
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:318
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2462
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:918
OpenGL Mathematics (glm.g-truc.net)
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:237
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1161
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:301
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2470
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2412
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:189
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:153
tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:297
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2536
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:846
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:326
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1328
OpenGL Mathematics (glm.g-truc.net)
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:173