00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #pragma once
00030
00031 #include "detail/type_int.hpp"
00032 #include "detail/type_float.hpp"
00033 #include "detail/type_vec.hpp"
00034 #include "detail/type_mat.hpp"
00035
00037
00038 namespace glm{
00039 namespace detail
00040 {
00041 template <typename T, precision P> struct tquat;
00042 }
00043
00044
00048 typedef detail::tquat<float, lowp> lowp_quat;
00049
00053 typedef detail::tquat<float, mediump> mediump_quat;
00054
00058 typedef detail::tquat<float, highp> highp_quat;
00059
00060 #if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
00061 typedef highp_quat quat;
00062 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
00063 typedef mediump_quat quat;
00064 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
00065 typedef lowp_quat quat;
00066 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
00067
00068 typedef highp_quat quat;
00069 #endif
00070
00074 typedef lowp_quat lowp_fquat;
00075
00079 typedef mediump_quat mediump_fquat;
00080
00084 typedef highp_quat highp_fquat;
00085
00089 typedef quat fquat;
00090
00091
00095 typedef detail::tquat<double, lowp> lowp_dquat;
00096
00100 typedef detail::tquat<double, mediump> mediump_dquat;
00101
00105 typedef detail::tquat<double, highp> highp_dquat;
00106
00107 #if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
00108 typedef highp_dquat dquat;
00109 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
00110 typedef mediump_dquat dquat;
00111 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
00112 typedef lowp_dquat dquat;
00113 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
00114
00115
00116
00117 typedef highp_dquat dquat;
00118 #endif
00119
00120 }
00121
00123
00124 namespace glm
00125 {
00128
00131 typedef detail::int8 lowp_int8;
00132
00135 typedef detail::int16 lowp_int16;
00136
00139 typedef detail::int32 lowp_int32;
00140
00143 typedef detail::int64 lowp_int64;
00144
00147 typedef detail::int8 lowp_int8_t;
00148
00151 typedef detail::int16 lowp_int16_t;
00152
00155 typedef detail::int32 lowp_int32_t;
00156
00159 typedef detail::int64 lowp_int64_t;
00160
00163 typedef detail::int8 lowp_i8;
00164
00167 typedef detail::int16 lowp_i16;
00168
00171 typedef detail::int32 lowp_i32;
00172
00175 typedef detail::int64 lowp_i64;
00176
00179 typedef detail::int8 mediump_int8;
00180
00183 typedef detail::int16 mediump_int16;
00184
00187 typedef detail::int32 mediump_int32;
00188
00191 typedef detail::int64 mediump_int64;
00192
00195 typedef detail::int8 mediump_int8_t;
00196
00199 typedef detail::int16 mediump_int16_t;
00200
00203 typedef detail::int32 mediump_int32_t;
00204
00207 typedef detail::int64 mediump_int64_t;
00208
00211 typedef detail::int8 mediump_i8;
00212
00215 typedef detail::int16 mediump_i16;
00216
00219 typedef detail::int32 mediump_i32;
00220
00223 typedef detail::int64 mediump_i64;
00224
00227 typedef detail::int8 highp_int8;
00228
00231 typedef detail::int16 highp_int16;
00232
00235 typedef detail::int32 highp_int32;
00236
00239 typedef detail::int64 highp_int64;
00240
00243 typedef detail::int8 highp_int8_t;
00244
00247 typedef detail::int16 highp_int16_t;
00248
00251 typedef detail::int32 highp_int32_t;
00252
00255 typedef detail::int64 highp_int64_t;
00256
00259 typedef detail::int8 highp_i8;
00260
00263 typedef detail::int16 highp_i16;
00264
00267 typedef detail::int32 highp_i32;
00268
00271 typedef detail::int64 highp_i64;
00272
00273
00276 typedef detail::int8 int8;
00277
00280 typedef detail::int16 int16;
00281
00284 typedef detail::int32 int32;
00285
00288 typedef detail::int64 int64;
00289
00290
00291 #if GLM_HAS_EXTENDED_INTEGER_TYPE
00292 using std::int8_t;
00293 using std::int16_t;
00294 using std::int32_t;
00295 using std::int64_t;
00296 #else
00297
00298
00299 typedef detail::int8 int8_t;
00300
00303 typedef detail::int16 int16_t;
00304
00307 typedef detail::int32 int32_t;
00308
00311 typedef detail::int64 int64_t;
00312 #endif
00313
00316 typedef detail::int8 i8;
00317
00320 typedef detail::int16 i16;
00321
00324 typedef detail::int32 i32;
00325
00328 typedef detail::int64 i64;
00329
00330
00331
00334 typedef detail::tvec1<i8, lowp> lowp_i8vec1;
00335
00338 typedef detail::tvec2<i8, lowp> lowp_i8vec2;
00339
00342 typedef detail::tvec3<i8, lowp> lowp_i8vec3;
00343
00346 typedef detail::tvec4<i8, lowp> lowp_i8vec4;
00347
00348
00351 typedef detail::tvec1<i8, mediump> mediump_i8vec1;
00352
00355 typedef detail::tvec2<i8, mediump> mediump_i8vec2;
00356
00359 typedef detail::tvec3<i8, mediump> mediump_i8vec3;
00360
00363 typedef detail::tvec4<i8, mediump> mediump_i8vec4;
00364
00365
00368 typedef detail::tvec1<i8, highp> highp_i8vec1;
00369
00372 typedef detail::tvec2<i8, highp> highp_i8vec2;
00373
00376 typedef detail::tvec3<i8, highp> highp_i8vec3;
00377
00380 typedef detail::tvec4<i8, highp> highp_i8vec4;
00381
00382 #if(defined(GLM_PRECISION_LOWP_INT))
00383 typedef lowp_i8vec1 i8vec1;
00384 typedef lowp_i8vec2 i8vec2;
00385 typedef lowp_i8vec3 i8vec3;
00386 typedef lowp_i8vec4 i8vec4;
00387 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
00388 typedef mediump_i8vec1 i8vec1;
00389 typedef mediump_i8vec2 i8vec2;
00390 typedef mediump_i8vec3 i8vec3;
00391 typedef mediump_i8vec4 i8vec4;
00392 #else
00393
00394
00395 typedef highp_i8vec1 i8vec1;
00396
00399 typedef highp_i8vec2 i8vec2;
00400
00403 typedef highp_i8vec3 i8vec3;
00404
00407 typedef highp_i8vec4 i8vec4;
00408 #endif
00409
00410
00413 typedef detail::tvec1<i16, lowp> lowp_i16vec1;
00414
00417 typedef detail::tvec2<i16, lowp> lowp_i16vec2;
00418
00421 typedef detail::tvec3<i16, lowp> lowp_i16vec3;
00422
00425 typedef detail::tvec4<i16, lowp> lowp_i16vec4;
00426
00427
00430 typedef detail::tvec1<i16, mediump> mediump_i16vec1;
00431
00434 typedef detail::tvec2<i16, mediump> mediump_i16vec2;
00435
00438 typedef detail::tvec3<i16, mediump> mediump_i16vec3;
00439
00442 typedef detail::tvec4<i16, mediump> mediump_i16vec4;
00443
00444
00447 typedef detail::tvec1<i16, highp> highp_i16vec1;
00448
00451 typedef detail::tvec2<i16, highp> highp_i16vec2;
00452
00455 typedef detail::tvec3<i16, highp> highp_i16vec3;
00456
00459 typedef detail::tvec4<i16, highp> highp_i16vec4;
00460
00461
00462 #if(defined(GLM_PRECISION_LOWP_INT))
00463 typedef lowp_i16vec1 i16vec1;
00464 typedef lowp_i16vec2 i16vec2;
00465 typedef lowp_i16vec3 i16vec3;
00466 typedef lowp_i16vec4 i16vec4;
00467 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
00468 typedef mediump_i16vec1 i16vec1;
00469 typedef mediump_i16vec2 i16vec2;
00470 typedef mediump_i16vec3 i16vec3;
00471 typedef mediump_i16vec4 i16vec4;
00472 #else
00473
00474
00475 typedef highp_i16vec1 i16vec1;
00476
00479 typedef highp_i16vec2 i16vec2;
00480
00483 typedef highp_i16vec3 i16vec3;
00484
00487 typedef highp_i16vec4 i16vec4;
00488 #endif
00489
00490
00493 typedef detail::tvec1<i32, lowp> lowp_i32vec1;
00494
00497 typedef detail::tvec2<i32, lowp> lowp_i32vec2;
00498
00501 typedef detail::tvec3<i32, lowp> lowp_i32vec3;
00502
00505 typedef detail::tvec4<i32, lowp> lowp_i32vec4;
00506
00507
00510 typedef detail::tvec1<i32, mediump> mediump_i32vec1;
00511
00514 typedef detail::tvec2<i32, mediump> mediump_i32vec2;
00515
00518 typedef detail::tvec3<i32, mediump> mediump_i32vec3;
00519
00522 typedef detail::tvec4<i32, mediump> mediump_i32vec4;
00523
00524
00527 typedef detail::tvec1<i32, highp> highp_i32vec1;
00528
00531 typedef detail::tvec2<i32, highp> highp_i32vec2;
00532
00535 typedef detail::tvec3<i32, highp> highp_i32vec3;
00536
00539 typedef detail::tvec4<i32, highp> highp_i32vec4;
00540
00541 #if(defined(GLM_PRECISION_LOWP_INT))
00542 typedef lowp_i32vec1 i32vec1;
00543 typedef lowp_i32vec2 i32vec2;
00544 typedef lowp_i32vec3 i32vec3;
00545 typedef lowp_i32vec4 i32vec4;
00546 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
00547 typedef mediump_i32vec1 i32vec1;
00548 typedef mediump_i32vec2 i32vec2;
00549 typedef mediump_i32vec3 i32vec3;
00550 typedef mediump_i32vec4 i32vec4;
00551 #else
00552
00553
00554 typedef highp_i32vec1 i32vec1;
00555
00558 typedef highp_i32vec2 i32vec2;
00559
00562 typedef highp_i32vec3 i32vec3;
00563
00566 typedef highp_i32vec4 i32vec4;
00567 #endif
00568
00569
00572 typedef detail::tvec1<i32, lowp> lowp_i32vec1;
00573
00576 typedef detail::tvec2<i32, lowp> lowp_i32vec2;
00577
00580 typedef detail::tvec3<i32, lowp> lowp_i32vec3;
00581
00584 typedef detail::tvec4<i32, lowp> lowp_i32vec4;
00585
00586
00589 typedef detail::tvec1<i32, mediump> mediump_i32vec1;
00590
00593 typedef detail::tvec2<i32, mediump> mediump_i32vec2;
00594
00597 typedef detail::tvec3<i32, mediump> mediump_i32vec3;
00598
00601 typedef detail::tvec4<i32, mediump> mediump_i32vec4;
00602
00603
00606 typedef detail::tvec1<i32, highp> highp_i32vec1;
00607
00610 typedef detail::tvec2<i32, highp> highp_i32vec2;
00611
00614 typedef detail::tvec3<i32, highp> highp_i32vec3;
00615
00618 typedef detail::tvec4<i32, highp> highp_i32vec4;
00619
00620 #if(defined(GLM_PRECISION_LOWP_INT))
00621 typedef lowp_i32vec1 i32vec1;
00622 typedef lowp_i32vec2 i32vec2;
00623 typedef lowp_i32vec3 i32vec3;
00624 typedef lowp_i32vec4 i32vec4;
00625 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
00626 typedef mediump_i32vec1 i32vec1;
00627 typedef mediump_i32vec2 i32vec2;
00628 typedef mediump_i32vec3 i32vec3;
00629 typedef mediump_i32vec4 i32vec4;
00630 #else
00631
00632
00633 typedef highp_i32vec1 i32vec1;
00634
00637 typedef highp_i32vec2 i32vec2;
00638
00641 typedef highp_i32vec3 i32vec3;
00642
00645 typedef highp_i32vec4 i32vec4;
00646 #endif
00647
00648
00649
00652 typedef detail::tvec1<i64, lowp> lowp_i64vec1;
00653
00656 typedef detail::tvec2<i64, lowp> lowp_i64vec2;
00657
00660 typedef detail::tvec3<i64, lowp> lowp_i64vec3;
00661
00664 typedef detail::tvec4<i64, lowp> lowp_i64vec4;
00665
00666
00669 typedef detail::tvec1<i64, mediump> mediump_i64vec1;
00670
00673 typedef detail::tvec2<i64, mediump> mediump_i64vec2;
00674
00677 typedef detail::tvec3<i64, mediump> mediump_i64vec3;
00678
00681 typedef detail::tvec4<i64, mediump> mediump_i64vec4;
00682
00683
00686 typedef detail::tvec1<i64, highp> highp_i64vec1;
00687
00690 typedef detail::tvec2<i64, highp> highp_i64vec2;
00691
00694 typedef detail::tvec3<i64, highp> highp_i64vec3;
00695
00698 typedef detail::tvec4<i64, highp> highp_i64vec4;
00699
00700 #if(defined(GLM_PRECISION_LOWP_INT))
00701 typedef lowp_i64vec1 i64vec1;
00702 typedef lowp_i64vec2 i64vec2;
00703 typedef lowp_i64vec3 i64vec3;
00704 typedef lowp_i64vec4 i64vec4;
00705 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
00706 typedef mediump_i64vec1 i64vec1;
00707 typedef mediump_i64vec2 i64vec2;
00708 typedef mediump_i64vec3 i64vec3;
00709 typedef mediump_i64vec4 i64vec4;
00710 #else
00711
00712
00713 typedef highp_i64vec1 i64vec1;
00714
00717 typedef highp_i64vec2 i64vec2;
00718
00721 typedef highp_i64vec3 i64vec3;
00722
00725 typedef highp_i64vec4 i64vec4;
00726 #endif
00727
00728
00730
00731
00734 typedef detail::uint8 lowp_uint8;
00735
00738 typedef detail::uint16 lowp_uint16;
00739
00742 typedef detail::uint32 lowp_uint32;
00743
00746 typedef detail::uint64 lowp_uint64;
00747
00748
00751 typedef detail::uint8 lowp_uint8_t;
00752
00755 typedef detail::uint16 lowp_uint16_t;
00756
00759 typedef detail::uint32 lowp_uint32_t;
00760
00763 typedef detail::uint64 lowp_uint64_t;
00764
00765
00768 typedef detail::uint8 lowp_u8;
00769
00772 typedef detail::uint16 lowp_u16;
00773
00776 typedef detail::uint32 lowp_u32;
00777
00780 typedef detail::uint64 lowp_u64;
00781
00782
00783
00786 typedef detail::uint8 mediump_uint8;
00787
00790 typedef detail::uint16 mediump_uint16;
00791
00794 typedef detail::uint32 mediump_uint32;
00795
00798 typedef detail::uint64 mediump_uint64;
00799
00802 typedef detail::uint8 mediump_uint8_t;
00803
00806 typedef detail::uint16 mediump_uint16_t;
00807
00810 typedef detail::uint32 mediump_uint32_t;
00811
00814 typedef detail::uint64 mediump_uint64_t;
00815
00818 typedef detail::uint8 mediump_u8;
00819
00822 typedef detail::uint16 mediump_u16;
00823
00826 typedef detail::uint32 mediump_u32;
00827
00830 typedef detail::uint64 mediump_u64;
00831
00832
00833
00836 typedef detail::uint8 highp_uint8;
00837
00840 typedef detail::uint16 highp_uint16;
00841
00844 typedef detail::uint32 highp_uint32;
00845
00848 typedef detail::uint64 highp_uint64;
00849
00852 typedef detail::uint8 highp_uint8_t;
00853
00856 typedef detail::uint16 highp_uint16_t;
00857
00860 typedef detail::uint32 highp_uint32_t;
00861
00864 typedef detail::uint64 highp_uint64_t;
00865
00868 typedef detail::uint8 highp_u8;
00869
00872 typedef detail::uint16 highp_u16;
00873
00876 typedef detail::uint32 highp_u32;
00877
00880 typedef detail::uint64 highp_u64;
00881
00882
00883
00886 typedef detail::uint8 uint8;
00887
00890 typedef detail::uint16 uint16;
00891
00894 typedef detail::uint32 uint32;
00895
00898 typedef detail::uint64 uint64;
00899
00900 #if GLM_HAS_EXTENDED_INTEGER_TYPE
00901 using std::uint8_t;
00902 using std::uint16_t;
00903 using std::uint32_t;
00904 using std::uint64_t;
00905 #else
00906
00907
00908 typedef detail::uint8 uint8_t;
00909
00912 typedef detail::uint16 uint16_t;
00913
00916 typedef detail::uint32 uint32_t;
00917
00920 typedef detail::uint64 uint64_t;
00921 #endif
00922
00925 typedef detail::uint8 u8;
00926
00929 typedef detail::uint16 u16;
00930
00933 typedef detail::uint32 u32;
00934
00937 typedef detail::uint64 u64;
00938
00939
00940
00943 typedef detail::tvec1<u8, lowp> lowp_u8vec1;
00944
00947 typedef detail::tvec2<u8, lowp> lowp_u8vec2;
00948
00951 typedef detail::tvec3<u8, lowp> lowp_u8vec3;
00952
00955 typedef detail::tvec4<u8, lowp> lowp_u8vec4;
00956
00957
00960 typedef detail::tvec1<u8, mediump> mediump_u8vec1;
00961
00964 typedef detail::tvec2<u8, mediump> mediump_u8vec2;
00965
00968 typedef detail::tvec3<u8, mediump> mediump_u8vec3;
00969
00972 typedef detail::tvec4<u8, mediump> mediump_u8vec4;
00973
00974
00977 typedef detail::tvec1<u8, highp> highp_u8vec1;
00978
00981 typedef detail::tvec2<u8, highp> highp_u8vec2;
00982
00985 typedef detail::tvec3<u8, highp> highp_u8vec3;
00986
00989 typedef detail::tvec4<u8, highp> highp_u8vec4;
00990
00991 #if(defined(GLM_PRECISION_LOWP_INT))
00992 typedef lowp_u8vec1 u8vec1;
00993 typedef lowp_u8vec2 u8vec2;
00994 typedef lowp_u8vec3 u8vec3;
00995 typedef lowp_u8vec4 u8vec4;
00996 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
00997 typedef mediump_u8vec1 u8vec1;
00998 typedef mediump_u8vec2 u8vec2;
00999 typedef mediump_u8vec3 u8vec3;
01000 typedef mediump_u8vec4 u8vec4;
01001 #else
01002
01003
01004 typedef highp_u8vec1 u8vec1;
01005
01008 typedef highp_u8vec2 u8vec2;
01009
01012 typedef highp_u8vec3 u8vec3;
01013
01016 typedef highp_u8vec4 u8vec4;
01017 #endif
01018
01019
01022 typedef detail::tvec1<u16, lowp> lowp_u16vec1;
01023
01026 typedef detail::tvec2<u16, lowp> lowp_u16vec2;
01027
01030 typedef detail::tvec3<u16, lowp> lowp_u16vec3;
01031
01034 typedef detail::tvec4<u16, lowp> lowp_u16vec4;
01035
01036
01039 typedef detail::tvec1<u16, mediump> mediump_u16vec1;
01040
01043 typedef detail::tvec2<u16, mediump> mediump_u16vec2;
01044
01047 typedef detail::tvec3<u16, mediump> mediump_u16vec3;
01048
01051 typedef detail::tvec4<u16, mediump> mediump_u16vec4;
01052
01053
01056 typedef detail::tvec1<u16, highp> highp_u16vec1;
01057
01060 typedef detail::tvec2<u16, highp> highp_u16vec2;
01061
01064 typedef detail::tvec3<u16, highp> highp_u16vec3;
01065
01068 typedef detail::tvec4<u16, highp> highp_u16vec4;
01069
01070
01071 #if(defined(GLM_PRECISION_LOWP_INT))
01072 typedef lowp_u16vec1 u16vec1;
01073 typedef lowp_u16vec2 u16vec2;
01074 typedef lowp_u16vec3 u16vec3;
01075 typedef lowp_u16vec4 u16vec4;
01076 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
01077 typedef mediump_u16vec1 u16vec1;
01078 typedef mediump_u16vec2 u16vec2;
01079 typedef mediump_u16vec3 u16vec3;
01080 typedef mediump_u16vec4 u16vec4;
01081 #else
01082
01083
01084 typedef highp_u16vec1 u16vec1;
01085
01088 typedef highp_u16vec2 u16vec2;
01089
01092 typedef highp_u16vec3 u16vec3;
01093
01096 typedef highp_u16vec4 u16vec4;
01097 #endif
01098
01099
01102 typedef detail::tvec1<u32, lowp> lowp_u32vec1;
01103
01106 typedef detail::tvec2<u32, lowp> lowp_u32vec2;
01107
01110 typedef detail::tvec3<u32, lowp> lowp_u32vec3;
01111
01114 typedef detail::tvec4<u32, lowp> lowp_u32vec4;
01115
01116
01119 typedef detail::tvec1<u32, mediump> mediump_u32vec1;
01120
01123 typedef detail::tvec2<u32, mediump> mediump_u32vec2;
01124
01127 typedef detail::tvec3<u32, mediump> mediump_u32vec3;
01128
01131 typedef detail::tvec4<u32, mediump> mediump_u32vec4;
01132
01133
01136 typedef detail::tvec1<u32, highp> highp_u32vec1;
01137
01140 typedef detail::tvec2<u32, highp> highp_u32vec2;
01141
01144 typedef detail::tvec3<u32, highp> highp_u32vec3;
01145
01148 typedef detail::tvec4<u32, highp> highp_u32vec4;
01149
01150 #if(defined(GLM_PRECISION_LOWP_INT))
01151 typedef lowp_u32vec1 u32vec1;
01152 typedef lowp_u32vec2 u32vec2;
01153 typedef lowp_u32vec3 u32vec3;
01154 typedef lowp_u32vec4 u32vec4;
01155 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
01156 typedef mediump_u32vec1 u32vec1;
01157 typedef mediump_u32vec2 u32vec2;
01158 typedef mediump_u32vec3 u32vec3;
01159 typedef mediump_u32vec4 u32vec4;
01160 #else
01161
01162
01163 typedef highp_u32vec1 u32vec1;
01164
01167 typedef highp_u32vec2 u32vec2;
01168
01171 typedef highp_u32vec3 u32vec3;
01172
01175 typedef highp_u32vec4 u32vec4;
01176 #endif
01177
01178
01181 typedef detail::tvec1<u32, lowp> lowp_u32vec1;
01182
01185 typedef detail::tvec2<u32, lowp> lowp_u32vec2;
01186
01189 typedef detail::tvec3<u32, lowp> lowp_u32vec3;
01190
01193 typedef detail::tvec4<u32, lowp> lowp_u32vec4;
01194
01195
01198 typedef detail::tvec1<u32, mediump> mediump_u32vec1;
01199
01202 typedef detail::tvec2<u32, mediump> mediump_u32vec2;
01203
01206 typedef detail::tvec3<u32, mediump> mediump_u32vec3;
01207
01210 typedef detail::tvec4<u32, mediump> mediump_u32vec4;
01211
01212
01215 typedef detail::tvec1<u32, highp> highp_u32vec1;
01216
01219 typedef detail::tvec2<u32, highp> highp_u32vec2;
01220
01223 typedef detail::tvec3<u32, highp> highp_u32vec3;
01224
01227 typedef detail::tvec4<u32, highp> highp_u32vec4;
01228
01229 #if(defined(GLM_PRECISION_LOWP_INT))
01230 typedef lowp_u32vec1 u32vec1;
01231 typedef lowp_u32vec2 u32vec2;
01232 typedef lowp_u32vec3 u32vec3;
01233 typedef lowp_u32vec4 u32vec4;
01234 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
01235 typedef mediump_u32vec1 u32vec1;
01236 typedef mediump_u32vec2 u32vec2;
01237 typedef mediump_u32vec3 u32vec3;
01238 typedef mediump_u32vec4 u32vec4;
01239 #else
01240
01241
01242 typedef highp_u32vec1 u32vec1;
01243
01246 typedef highp_u32vec2 u32vec2;
01247
01250 typedef highp_u32vec3 u32vec3;
01251
01254 typedef highp_u32vec4 u32vec4;
01255 #endif
01256
01257
01258
01261 typedef detail::tvec1<u64, lowp> lowp_u64vec1;
01262
01265 typedef detail::tvec2<u64, lowp> lowp_u64vec2;
01266
01269 typedef detail::tvec3<u64, lowp> lowp_u64vec3;
01270
01273 typedef detail::tvec4<u64, lowp> lowp_u64vec4;
01274
01275
01278 typedef detail::tvec1<u64, mediump> mediump_u64vec1;
01279
01282 typedef detail::tvec2<u64, mediump> mediump_u64vec2;
01283
01286 typedef detail::tvec3<u64, mediump> mediump_u64vec3;
01287
01290 typedef detail::tvec4<u64, mediump> mediump_u64vec4;
01291
01292
01295 typedef detail::tvec1<u64, highp> highp_u64vec1;
01296
01299 typedef detail::tvec2<u64, highp> highp_u64vec2;
01300
01303 typedef detail::tvec3<u64, highp> highp_u64vec3;
01304
01307 typedef detail::tvec4<u64, highp> highp_u64vec4;
01308
01309 #if(defined(GLM_PRECISION_LOWP_UINT))
01310 typedef lowp_u64vec1 u64vec1;
01311 typedef lowp_u64vec2 u64vec2;
01312 typedef lowp_u64vec3 u64vec3;
01313 typedef lowp_u64vec4 u64vec4;
01314 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
01315 typedef mediump_u64vec1 u64vec1;
01316 typedef mediump_u64vec2 u64vec2;
01317 typedef mediump_u64vec3 u64vec3;
01318 typedef mediump_u64vec4 u64vec4;
01319 #else
01320
01321
01322 typedef highp_u64vec1 u64vec1;
01323
01326 typedef highp_u64vec2 u64vec2;
01327
01330 typedef highp_u64vec3 u64vec3;
01331
01334 typedef highp_u64vec4 u64vec4;
01335 #endif
01336
01337
01339
01340
01343 typedef detail::float32 lowp_float32;
01344
01347 typedef detail::float64 lowp_float64;
01348
01351 typedef detail::float32 lowp_float32_t;
01352
01355 typedef detail::float64 lowp_float64_t;
01356
01359 typedef float32 lowp_f32;
01360
01363 typedef float64 lowp_f64;
01364
01367 typedef detail::float32 lowp_float32;
01368
01371 typedef detail::float64 lowp_float64;
01372
01375 typedef detail::float32 lowp_float32_t;
01376
01379 typedef detail::float64 lowp_float64_t;
01380
01383 typedef float32 lowp_f32;
01384
01387 typedef float64 lowp_f64;
01388
01389
01392 typedef detail::float32 lowp_float32;
01393
01396 typedef detail::float64 lowp_float64;
01397
01400 typedef detail::float32 lowp_float32_t;
01401
01404 typedef detail::float64 lowp_float64_t;
01405
01408 typedef float32 lowp_f32;
01409
01412 typedef float64 lowp_f64;
01413
01414
01417 typedef detail::float32 mediump_float32;
01418
01421 typedef detail::float64 mediump_float64;
01422
01425 typedef detail::float32 mediump_float32_t;
01426
01429 typedef detail::float64 mediump_float64_t;
01430
01433 typedef float32 mediump_f32;
01434
01437 typedef float64 mediump_f64;
01438
01439
01442 typedef detail::float32 highp_float32;
01443
01446 typedef detail::float64 highp_float64;
01447
01450 typedef detail::float32 highp_float32_t;
01451
01454 typedef detail::float64 highp_float64_t;
01455
01458 typedef float32 highp_f32;
01459
01462 typedef float64 highp_f64;
01463
01464
01465 #if(defined(GLM_PRECISION_LOWP_FLOAT))
01466
01467
01468 typedef lowp_float32 float32;
01469
01472 typedef lowp_float64 float64;
01473
01476 typedef lowp_float32_t float32_t;
01477
01480 typedef lowp_float64_t float64_t;
01481
01484 typedef lowp_f32 f32;
01485
01488 typedef lowp_f64 f64;
01489
01490 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
01491
01494 typedef mediump_float32 float32;
01495
01498 typedef mediump_float64 float64;
01499
01502 typedef mediump_float32 float32_t;
01503
01506 typedef mediump_float64 float64_t;
01507
01510 typedef mediump_float32 f32;
01511
01514 typedef mediump_float64 f64;
01515
01516 #else//(defined(GLM_PRECISION_HIGHP_FLOAT))
01517
01520 typedef highp_float32 float32;
01521
01524 typedef highp_float64 float64;
01525
01528 typedef highp_float32_t float32_t;
01529
01532 typedef highp_float64_t float64_t;
01533
01536 typedef highp_float32_t f32;
01537
01540 typedef highp_float64_t f64;
01541 #endif
01542
01543
01546 typedef detail::tvec1<float, lowp> lowp_vec1;
01547
01550 typedef detail::tvec2<float, lowp> lowp_vec2;
01551
01554 typedef detail::tvec3<float, lowp> lowp_vec3;
01555
01558 typedef detail::tvec4<float, lowp> lowp_vec4;
01559
01562 typedef detail::tvec1<float, lowp> lowp_fvec1;
01563
01566 typedef detail::tvec2<float, lowp> lowp_fvec2;
01567
01570 typedef detail::tvec3<float, lowp> lowp_fvec3;
01571
01574 typedef detail::tvec4<float, lowp> lowp_fvec4;
01575
01576
01579 typedef detail::tvec1<float, mediump> mediump_vec1;
01580
01583 typedef detail::tvec2<float, mediump> mediump_vec2;
01584
01587 typedef detail::tvec3<float, mediump> mediump_vec3;
01588
01591 typedef detail::tvec4<float, mediump> mediump_vec4;
01592
01595 typedef detail::tvec1<float, mediump> mediump_fvec1;
01596
01599 typedef detail::tvec2<float, mediump> mediump_fvec2;
01600
01603 typedef detail::tvec3<float, mediump> mediump_fvec3;
01604
01607 typedef detail::tvec4<float, mediump> mediump_fvec4;
01608
01609
01612 typedef detail::tvec1<float, highp> highp_vec1;
01613
01616 typedef detail::tvec2<float, highp> highp_vec2;
01617
01620 typedef detail::tvec3<float, highp> highp_vec3;
01621
01624 typedef detail::tvec4<float, highp> highp_vec4;
01625
01628 typedef detail::tvec1<float, highp> highp_fvec1;
01629
01632 typedef detail::tvec2<float, highp> highp_fvec2;
01633
01636 typedef detail::tvec3<float, highp> highp_fvec3;
01637
01640 typedef detail::tvec4<float, highp> highp_fvec4;
01641
01642
01645 typedef detail::tvec1<f32, lowp> lowp_f32vec1;
01646
01649 typedef detail::tvec2<f32, lowp> lowp_f32vec2;
01650
01653 typedef detail::tvec3<f32, lowp> lowp_f32vec3;
01654
01657 typedef detail::tvec4<f32, lowp> lowp_f32vec4;
01658
01661 typedef detail::tvec1<f32, mediump> mediump_f32vec1;
01662
01665 typedef detail::tvec2<f32, mediump> mediump_f32vec2;
01666
01669 typedef detail::tvec3<f32, mediump> mediump_f32vec3;
01670
01673 typedef detail::tvec4<f32, mediump> mediump_f32vec4;
01674
01677 typedef detail::tvec1<f32, highp> highp_f32vec1;
01678
01681 typedef detail::tvec2<f32, highp> highp_f32vec2;
01682
01685 typedef detail::tvec3<f32, highp> highp_f32vec3;
01686
01689 typedef detail::tvec4<f32, highp> highp_f32vec4;
01690
01691
01694 typedef detail::tvec1<f64, lowp> lowp_f64vec1;
01695
01698 typedef detail::tvec2<f64, lowp> lowp_f64vec2;
01699
01702 typedef detail::tvec3<f64, lowp> lowp_f64vec3;
01703
01706 typedef detail::tvec4<f64, lowp> lowp_f64vec4;
01707
01710 typedef detail::tvec1<f64, mediump> mediump_f64vec1;
01711
01714 typedef detail::tvec2<f64, mediump> mediump_f64vec2;
01715
01718 typedef detail::tvec3<f64, mediump> mediump_f64vec3;
01719
01722 typedef detail::tvec4<f64, mediump> mediump_f64vec4;
01723
01726 typedef detail::tvec1<f64, highp> highp_f64vec1;
01727
01730 typedef detail::tvec2<f64, highp> highp_f64vec2;
01731
01734 typedef detail::tvec3<f64, highp> highp_f64vec3;
01735
01738 typedef detail::tvec4<f64, highp> highp_f64vec4;
01739
01740
01742
01743
01746
01747
01750 typedef detail::tmat2x2<f32, lowp> lowp_fmat2x2;
01751
01754 typedef detail::tmat2x3<f32, lowp> lowp_fmat2x3;
01755
01758 typedef detail::tmat2x4<f32, lowp> lowp_fmat2x4;
01759
01762 typedef detail::tmat3x2<f32, lowp> lowp_fmat3x2;
01763
01766 typedef detail::tmat3x3<f32, lowp> lowp_fmat3x3;
01767
01770 typedef detail::tmat3x4<f32, lowp> lowp_fmat3x4;
01771
01774 typedef detail::tmat4x2<f32, lowp> lowp_fmat4x2;
01775
01778 typedef detail::tmat4x3<f32, lowp> lowp_fmat4x3;
01779
01782 typedef detail::tmat4x4<f32, lowp> lowp_fmat4x4;
01783
01786
01787
01790 typedef lowp_fmat2x2 lowp_fmat2;
01791
01794 typedef lowp_fmat3x3 lowp_fmat3;
01795
01798 typedef lowp_fmat4x4 lowp_fmat4;
01799
01800
01803
01804
01807 typedef detail::tmat2x2<f32, mediump> mediump_fmat2x2;
01808
01811 typedef detail::tmat2x3<f32, mediump> mediump_fmat2x3;
01812
01815 typedef detail::tmat2x4<f32, mediump> mediump_fmat2x4;
01816
01819 typedef detail::tmat3x2<f32, mediump> mediump_fmat3x2;
01820
01823 typedef detail::tmat3x3<f32, mediump> mediump_fmat3x3;
01824
01827 typedef detail::tmat3x4<f32, mediump> mediump_fmat3x4;
01828
01831 typedef detail::tmat4x2<f32, mediump> mediump_fmat4x2;
01832
01835 typedef detail::tmat4x3<f32, mediump> mediump_fmat4x3;
01836
01839 typedef detail::tmat4x4<f32, mediump> mediump_fmat4x4;
01840
01843
01844
01847 typedef mediump_fmat2x2 mediump_fmat2;
01848
01851 typedef mediump_fmat3x3 mediump_fmat3;
01852
01855 typedef mediump_fmat4x4 mediump_fmat4;
01856
01857
01860
01861
01864 typedef detail::tmat2x2<f32, highp> highp_fmat2x2;
01865
01868 typedef detail::tmat2x3<f32, highp> highp_fmat2x3;
01869
01872 typedef detail::tmat2x4<f32, highp> highp_fmat2x4;
01873
01876 typedef detail::tmat3x2<f32, highp> highp_fmat3x2;
01877
01880 typedef detail::tmat3x3<f32, highp> highp_fmat3x3;
01881
01884 typedef detail::tmat3x4<f32, highp> highp_fmat3x4;
01885
01888 typedef detail::tmat4x2<f32, highp> highp_fmat4x2;
01889
01892 typedef detail::tmat4x3<f32, highp> highp_fmat4x3;
01893
01896 typedef detail::tmat4x4<f32, highp> highp_fmat4x4;
01897
01900
01901
01904 typedef highp_fmat2x2 highp_fmat2;
01905
01908 typedef highp_fmat3x3 highp_fmat3;
01909
01912 typedef highp_fmat4x4 highp_fmat4;
01913
01914
01917
01918
01921 typedef detail::tmat2x2<f32, lowp> lowp_f32mat2x2;
01922
01925 typedef detail::tmat2x3<f32, lowp> lowp_f32mat2x3;
01926
01929 typedef detail::tmat2x4<f32, lowp> lowp_f32mat2x4;
01930
01933 typedef detail::tmat3x2<f32, lowp> lowp_f32mat3x2;
01934
01937 typedef detail::tmat3x3<f32, lowp> lowp_f32mat3x3;
01938
01941 typedef detail::tmat3x4<f32, lowp> lowp_f32mat3x4;
01942
01945 typedef detail::tmat4x2<f32, lowp> lowp_f32mat4x2;
01946
01949 typedef detail::tmat4x3<f32, lowp> lowp_f32mat4x3;
01950
01953 typedef detail::tmat4x4<f32, lowp> lowp_f32mat4x4;
01954
01957
01958
01961 typedef lowp_f32mat2x2 lowp_f32mat2;
01962
01965 typedef lowp_f32mat3x3 lowp_f32mat3;
01966
01969 typedef lowp_f32mat4x4 lowp_f32mat4;
01970
01971
01974
01975
01978 typedef detail::tmat2x2<f32, mediump> mediump_f32mat2x2;
01979
01982 typedef detail::tmat2x3<f32, mediump> mediump_f32mat2x3;
01983
01986 typedef detail::tmat2x4<f32, mediump> mediump_f32mat2x4;
01987
01990 typedef detail::tmat3x2<f32, mediump> mediump_f32mat3x2;
01991
01994 typedef detail::tmat3x3<f32, mediump> mediump_f32mat3x3;
01995
01998 typedef detail::tmat3x4<f32, mediump> mediump_f32mat3x4;
01999
02002 typedef detail::tmat4x2<f32, mediump> mediump_f32mat4x2;
02003
02006 typedef detail::tmat4x3<f32, mediump> mediump_f32mat4x3;
02007
02010 typedef detail::tmat4x4<f32, mediump> mediump_f32mat4x4;
02011
02014
02015
02018 typedef mediump_f32mat2x2 mediump_f32mat2;
02019
02022 typedef mediump_f32mat3x3 mediump_f32mat3;
02023
02026 typedef mediump_f32mat4x4 mediump_f32mat4;
02027
02028
02031
02032
02035 typedef detail::tmat2x2<f32, highp> highp_f32mat2x2;
02036
02039 typedef detail::tmat2x3<f32, highp> highp_f32mat2x3;
02040
02043 typedef detail::tmat2x4<f32, highp> highp_f32mat2x4;
02044
02047 typedef detail::tmat3x2<f32, highp> highp_f32mat3x2;
02048
02051 typedef detail::tmat3x3<f32, highp> highp_f32mat3x3;
02052
02055 typedef detail::tmat3x4<f32, highp> highp_f32mat3x4;
02056
02059 typedef detail::tmat4x2<f32, highp> highp_f32mat4x2;
02060
02063 typedef detail::tmat4x3<f32, highp> highp_f32mat4x3;
02064
02067 typedef detail::tmat4x4<f32, highp> highp_f32mat4x4;
02068
02071
02072
02075 typedef highp_f32mat2x2 highp_f32mat2;
02076
02079 typedef highp_f32mat3x3 highp_f32mat3;
02080
02083 typedef highp_f32mat4x4 highp_f32mat4;
02084
02085
02088
02089
02092 typedef detail::tmat2x2<f64, lowp> lowp_f64mat2x2;
02093
02096 typedef detail::tmat2x3<f64, lowp> lowp_f64mat2x3;
02097
02100 typedef detail::tmat2x4<f64, lowp> lowp_f64mat2x4;
02101
02104 typedef detail::tmat3x2<f64, lowp> lowp_f64mat3x2;
02105
02108 typedef detail::tmat3x3<f64, lowp> lowp_f64mat3x3;
02109
02112 typedef detail::tmat3x4<f64, lowp> lowp_f64mat3x4;
02113
02116 typedef detail::tmat4x2<f64, lowp> lowp_f64mat4x2;
02117
02120 typedef detail::tmat4x3<f64, lowp> lowp_f64mat4x3;
02121
02124 typedef detail::tmat4x4<f64, lowp> lowp_f64mat4x4;
02125
02128
02129
02132 typedef lowp_f64mat2x2 lowp_f64mat2;
02133
02136 typedef lowp_f64mat3x3 lowp_f64mat3;
02137
02140 typedef lowp_f64mat4x4 lowp_f64mat4;
02141
02142
02145
02146
02149 typedef detail::tmat2x2<f64, mediump> mediump_f64mat2x2;
02150
02153 typedef detail::tmat2x3<f64, mediump> mediump_f64mat2x3;
02154
02157 typedef detail::tmat2x4<f64, mediump> mediump_f64mat2x4;
02158
02161 typedef detail::tmat3x2<f64, mediump> mediump_f64mat3x2;
02162
02165 typedef detail::tmat3x3<f64, mediump> mediump_f64mat3x3;
02166
02169 typedef detail::tmat3x4<f64, mediump> mediump_f64mat3x4;
02170
02173 typedef detail::tmat4x2<f64, mediump> mediump_f64mat4x2;
02174
02177 typedef detail::tmat4x3<f64, mediump> mediump_f64mat4x3;
02178
02181 typedef detail::tmat4x4<f64, mediump> mediump_f64mat4x4;
02182
02185
02186
02189 typedef mediump_f64mat2x2 mediump_f64mat2;
02190
02193 typedef mediump_f64mat3x3 mediump_f64mat3;
02194
02197 typedef mediump_f64mat4x4 mediump_f64mat4;
02198
02201
02202
02205 typedef detail::tmat2x2<f64, highp> highp_f64mat2x2;
02206
02209 typedef detail::tmat2x3<f64, highp> highp_f64mat2x3;
02210
02213 typedef detail::tmat2x4<f64, highp> highp_f64mat2x4;
02214
02217 typedef detail::tmat3x2<f64, highp> highp_f64mat3x2;
02218
02221 typedef detail::tmat3x3<f64, highp> highp_f64mat3x3;
02222
02225 typedef detail::tmat3x4<f64, highp> highp_f64mat3x4;
02226
02229 typedef detail::tmat4x2<f64, highp> highp_f64mat4x2;
02230
02233 typedef detail::tmat4x3<f64, highp> highp_f64mat4x3;
02234
02237 typedef detail::tmat4x4<f64, highp> highp_f64mat4x4;
02238
02241
02242
02245 typedef highp_f64mat2x2 highp_f64mat2;
02246
02249 typedef highp_f64mat3x3 highp_f64mat3;
02250
02253 typedef highp_f64mat4x4 highp_f64mat4;
02254
02256
02257
02260 typedef detail::tquat<f32, lowp> lowp_f32quat;
02261
02264 typedef detail::tquat<f64, lowp> lowp_f64quat;
02265
02268 typedef detail::tquat<f32, mediump> mediump_f32quat;
02269
02272 typedef detail::tquat<f64, mediump> mediump_f64quat;
02273
02276 typedef detail::tquat<f32, highp> highp_f32quat;
02277
02280 typedef detail::tquat<f64, highp> highp_f64quat;
02281
02282
02283 #if(defined(GLM_PRECISION_LOWP_FLOAT))
02284 typedef lowp_f32vec1 fvec1;
02285 typedef lowp_f32vec2 fvec2;
02286 typedef lowp_f32vec3 fvec3;
02287 typedef lowp_f32vec4 fvec4;
02288 typedef lowp_f32mat2 fmat2;
02289 typedef lowp_f32mat3 fmat3;
02290 typedef lowp_f32mat4 fmat4;
02291 typedef lowp_f32mat2x2 fmat2x2;
02292 typedef lowp_f32mat3x2 fmat3x2;
02293 typedef lowp_f32mat4x2 fmat4x2;
02294 typedef lowp_f32mat2x3 fmat2x3;
02295 typedef lowp_f32mat3x3 fmat3x3;
02296 typedef lowp_f32mat4x3 fmat4x3;
02297 typedef lowp_f32mat2x4 fmat2x4;
02298 typedef lowp_f32mat3x4 fmat3x4;
02299 typedef lowp_f32mat4x4 fmat4x4;
02300 typedef lowp_f32quat fquat;
02301
02302 typedef lowp_f32vec1 f32vec1;
02303 typedef lowp_f32vec2 f32vec2;
02304 typedef lowp_f32vec3 f32vec3;
02305 typedef lowp_f32vec4 f32vec4;
02306 typedef lowp_f32mat2 f32mat2;
02307 typedef lowp_f32mat3 f32mat3;
02308 typedef lowp_f32mat4 f32mat4;
02309 typedef lowp_f32mat2x2 f32mat2x2;
02310 typedef lowp_f32mat3x2 f32mat3x2;
02311 typedef lowp_f32mat4x2 f32mat4x2;
02312 typedef lowp_f32mat2x3 f32mat2x3;
02313 typedef lowp_f32mat3x3 f32mat3x3;
02314 typedef lowp_f32mat4x3 f32mat4x3;
02315 typedef lowp_f32mat2x4 f32mat2x4;
02316 typedef lowp_f32mat3x4 f32mat3x4;
02317 typedef lowp_f32mat4x4 f32mat4x4;
02318 typedef lowp_f32quat f32quat;
02319 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
02320 typedef mediump_f32vec1 fvec1;
02321 typedef mediump_f32vec2 fvec2;
02322 typedef mediump_f32vec3 fvec3;
02323 typedef mediump_f32vec4 fvec4;
02324 typedef mediump_f32mat2 fmat2;
02325 typedef mediump_f32mat3 fmat3;
02326 typedef mediump_f32mat4 fmat4;
02327 typedef mediump_f32mat2x2 fmat2x2;
02328 typedef mediump_f32mat3x2 fmat3x2;
02329 typedef mediump_f32mat4x2 fmat4x2;
02330 typedef mediump_f32mat2x3 fmat2x3;
02331 typedef mediump_f32mat3x3 fmat3x3;
02332 typedef mediump_f32mat4x3 fmat4x3;
02333 typedef mediump_f32mat2x4 fmat2x4;
02334 typedef mediump_f32mat3x4 fmat3x4;
02335 typedef mediump_f32mat4x4 fmat4x4;
02336 typedef mediump_f32quat fquat;
02337
02338 typedef mediump_f32vec1 f32vec1;
02339 typedef mediump_f32vec2 f32vec2;
02340 typedef mediump_f32vec3 f32vec3;
02341 typedef mediump_f32vec4 f32vec4;
02342 typedef mediump_f32mat2 f32mat2;
02343 typedef mediump_f32mat3 f32mat3;
02344 typedef mediump_f32mat4 f32mat4;
02345 typedef mediump_f32mat2x2 f32mat2x2;
02346 typedef mediump_f32mat3x2 f32mat3x2;
02347 typedef mediump_f32mat4x2 f32mat4x2;
02348 typedef mediump_f32mat2x3 f32mat2x3;
02349 typedef mediump_f32mat3x3 f32mat3x3;
02350 typedef mediump_f32mat4x3 f32mat4x3;
02351 typedef mediump_f32mat2x4 f32mat2x4;
02352 typedef mediump_f32mat3x4 f32mat3x4;
02353 typedef mediump_f32mat4x4 f32mat4x4;
02354 typedef mediump_f32quat f32quat;
02355 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT))
02356
02357
02358 typedef highp_f32vec1 fvec1;
02359
02362 typedef highp_f32vec2 fvec2;
02363
02366 typedef highp_f32vec3 fvec3;
02367
02370 typedef highp_f32vec4 fvec4;
02371
02374 typedef highp_f32mat2x2 fmat2x2;
02375
02378 typedef highp_f32mat2x3 fmat2x3;
02379
02382 typedef highp_f32mat2x4 fmat2x4;
02383
02386 typedef highp_f32mat3x2 fmat3x2;
02387
02390 typedef highp_f32mat3x3 fmat3x3;
02391
02394 typedef highp_f32mat3x4 fmat3x4;
02395
02398 typedef highp_f32mat4x2 fmat4x2;
02399
02402 typedef highp_f32mat4x3 fmat4x3;
02403
02406 typedef highp_f32mat4x4 fmat4x4;
02407
02410 typedef fmat2x2 fmat2;
02411
02414 typedef fmat3x3 fmat3;
02415
02418 typedef fmat4x4 fmat4;
02419
02422 typedef highp_fquat fquat;
02423
02424
02425
02428 typedef highp_f32vec1 f32vec1;
02429
02432 typedef highp_f32vec2 f32vec2;
02433
02436 typedef highp_f32vec3 f32vec3;
02437
02440 typedef highp_f32vec4 f32vec4;
02441
02444 typedef highp_f32mat2x2 f32mat2x2;
02445
02448 typedef highp_f32mat2x3 f32mat2x3;
02449
02452 typedef highp_f32mat2x4 f32mat2x4;
02453
02456 typedef highp_f32mat3x2 f32mat3x2;
02457
02460 typedef highp_f32mat3x3 f32mat3x3;
02461
02464 typedef highp_f32mat3x4 f32mat3x4;
02465
02468 typedef highp_f32mat4x2 f32mat4x2;
02469
02472 typedef highp_f32mat4x3 f32mat4x3;
02473
02476 typedef highp_f32mat4x4 f32mat4x4;
02477
02480 typedef f32mat2x2 f32mat2;
02481
02484 typedef f32mat3x3 f32mat3;
02485
02488 typedef f32mat4x4 f32mat4;
02489
02492 typedef highp_f32quat f32quat;
02493 #endif
02494
02495 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
02496 typedef lowp_f64vec1 f64vec1;
02497 typedef lowp_f64vec2 f64vec2;
02498 typedef lowp_f64vec3 f64vec3;
02499 typedef lowp_f64vec4 f64vec4;
02500 typedef lowp_f64mat2 f64mat2;
02501 typedef lowp_f64mat3 f64mat3;
02502 typedef lowp_f64mat4 f64mat4;
02503 typedef lowp_f64mat2x2 f64mat2x2;
02504 typedef lowp_f64mat3x2 f64mat3x2;
02505 typedef lowp_f64mat4x2 f64mat4x2;
02506 typedef lowp_f64mat2x3 f64mat2x3;
02507 typedef lowp_f64mat3x3 f64mat3x3;
02508 typedef lowp_f64mat4x3 f64mat4x3;
02509 typedef lowp_f64mat2x4 f64mat2x4;
02510 typedef lowp_f64mat3x4 f64mat3x4;
02511 typedef lowp_f64mat4x4 f64mat4x4;
02512 typedef lowp_f64quat f64quat;
02513 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
02514 typedef mediump_f64vec1 f64vec1;
02515 typedef mediump_f64vec2 f64vec2;
02516 typedef mediump_f64vec3 f64vec3;
02517 typedef mediump_f64vec4 f64vec4;
02518 typedef mediump_f64mat2 f64mat2;
02519 typedef mediump_f64mat3 f64mat3;
02520 typedef mediump_f64mat4 f64mat4;
02521 typedef mediump_f64mat2x2 f64mat2x2;
02522 typedef mediump_f64mat3x2 f64mat3x2;
02523 typedef mediump_f64mat4x2 f64mat4x2;
02524 typedef mediump_f64mat2x3 f64mat2x3;
02525 typedef mediump_f64mat3x3 f64mat3x3;
02526 typedef mediump_f64mat4x3 f64mat4x3;
02527 typedef mediump_f64mat2x4 f64mat2x4;
02528 typedef mediump_f64mat3x4 f64mat3x4;
02529 typedef mediump_f64mat4x4 f64mat4x4;
02530 typedef mediump_f64quat f64quat;
02531 #else
02532
02533
02534 typedef highp_f64vec1 f64vec1;
02535
02538 typedef highp_f64vec2 f64vec2;
02539
02542 typedef highp_f64vec3 f64vec3;
02543
02546 typedef highp_f64vec4 f64vec4;
02547
02550 typedef highp_f64mat2x2 f64mat2x2;
02551
02554 typedef highp_f64mat2x3 f64mat2x3;
02555
02558 typedef highp_f64mat2x4 f64mat2x4;
02559
02562 typedef highp_f64mat3x2 f64mat3x2;
02563
02566 typedef highp_f64mat3x3 f64mat3x3;
02567
02570 typedef highp_f64mat3x4 f64mat3x4;
02571
02574 typedef highp_f64mat4x2 f64mat4x2;
02575
02578 typedef highp_f64mat4x3 f64mat4x3;
02579
02582 typedef highp_f64mat4x4 f64mat4x4;
02583
02586 typedef f64mat2x2 f64mat2;
02587
02590 typedef f64mat3x3 f64mat3;
02591
02594 typedef f64mat4x4 f64mat4;
02595
02598 typedef highp_f64quat f64quat;
02599 #endif
02600 }