17         template<
typename T, qualifier P> 
struct tquat;
 
   22         typedef tquat<float, lowp>              lowp_quat;
 
   27         typedef tquat<float, mediump>   mediump_quat;
 
   32         typedef tquat<float, highp>             highp_quat;
 
   34 #if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 
   35         typedef highp_quat                      quat;
 
   36 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 
   37         typedef mediump_quat            quat;
 
   38 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT)) 
   39         typedef lowp_quat                       quat;
 
   40 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 
   41         typedef highp_quat                      quat;
 
   48         typedef lowp_quat                       lowp_fquat;
 
   53         typedef mediump_quat            mediump_fquat;
 
   58         typedef highp_quat                      highp_fquat;
 
   69         typedef tquat<double, lowp>             lowp_dquat;
 
   74         typedef tquat<double, mediump>  mediump_dquat;
 
   79         typedef tquat<double, highp>    highp_dquat;
 
   81 #if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 
   82         typedef highp_dquat                     dquat;
 
   83 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 
   84         typedef mediump_dquat           dquat;
 
   85 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE)) 
   86         typedef lowp_dquat                      dquat;
 
   87 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 
   88         typedef highp_dquat                     dquat;
 
  247         typedef detail::int8 
int8;
 
  251         typedef detail::int16 
int16;
 
  255         typedef detail::int32 
int32;
 
  259         typedef detail::int64 
int64;
 
  262 #if GLM_HAS_EXTENDED_INTEGER_TYPE 
  268         typedef detail::int8 
int8_t;
 
  287         typedef detail::int8 
i8;
 
  291         typedef detail::int16 
i16;
 
  295         typedef detail::int32 
i32;
 
  299         typedef detail::int64 
i64;
 
  305         typedef vec<1, i8, lowp> lowp_i8vec1;
 
  309         typedef vec<2, i8, lowp> lowp_i8vec2;
 
  313         typedef vec<3, i8, lowp> lowp_i8vec3;
 
  317         typedef vec<4, i8, lowp> lowp_i8vec4;
 
  322         typedef vec<1, i8, mediump> mediump_i8vec1;
 
  326         typedef vec<2, i8, mediump> mediump_i8vec2;
 
  330         typedef vec<3, i8, mediump> mediump_i8vec3;
 
  334         typedef vec<4, i8, mediump> mediump_i8vec4;
 
  339         typedef vec<1, i8, highp> highp_i8vec1;
 
  343         typedef vec<2, i8, highp> highp_i8vec2;
 
  347         typedef vec<3, i8, highp> highp_i8vec3;
 
  351         typedef vec<4, i8, highp> highp_i8vec4;
 
  353 #if(defined(GLM_PRECISION_LOWP_INT)) 
  354         typedef lowp_i8vec1                             
i8vec1;
 
  355         typedef lowp_i8vec2                             
i8vec2;
 
  356         typedef lowp_i8vec3                             
i8vec3;
 
  357         typedef lowp_i8vec4                             
i8vec4;
 
  358 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  359         typedef mediump_i8vec1                  
i8vec1;
 
  360         typedef mediump_i8vec2                  
i8vec2;
 
  361         typedef mediump_i8vec3                  
i8vec3;
 
  362         typedef mediump_i8vec4                  
i8vec4; 
 
  364         typedef highp_i8vec1                    
i8vec1;
 
  384         typedef vec<1, i16, lowp>               lowp_i16vec1;
 
  388         typedef vec<2, i16, lowp>               lowp_i16vec2;
 
  392         typedef vec<3, i16, lowp>               lowp_i16vec3;
 
  396         typedef vec<4, i16, lowp>               lowp_i16vec4;
 
  401         typedef vec<1, i16, mediump>            mediump_i16vec1;
 
  405         typedef vec<2, i16, mediump>            mediump_i16vec2;
 
  409         typedef vec<3, i16, mediump>            mediump_i16vec3;
 
  413         typedef vec<4, i16, mediump>            mediump_i16vec4;
 
  418         typedef vec<1, i16, highp>              highp_i16vec1;
 
  422         typedef vec<2, i16, highp>              highp_i16vec2;
 
  426         typedef vec<3, i16, highp>              highp_i16vec3;
 
  430         typedef vec<4, i16, highp>              highp_i16vec4;
 
  433 #if(defined(GLM_PRECISION_LOWP_INT)) 
  438 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  439         typedef mediump_i16vec1                 
i16vec1;
 
  440         typedef mediump_i16vec2                 
i16vec2;
 
  441         typedef mediump_i16vec3                 
i16vec3;
 
  442         typedef mediump_i16vec4                 
i16vec4;
 
  464         typedef vec<1, i32, lowp>               lowp_i32vec1;
 
  468         typedef vec<2, i32, lowp>               lowp_i32vec2;
 
  472         typedef vec<3, i32, lowp>               lowp_i32vec3;
 
  476         typedef vec<4, i32, lowp>               lowp_i32vec4;
 
  481         typedef vec<1, i32, mediump>            mediump_i32vec1;
 
  485         typedef vec<2, i32, mediump>            mediump_i32vec2;
 
  489         typedef vec<3, i32, mediump>            mediump_i32vec3;
 
  493         typedef vec<4, i32, mediump>            mediump_i32vec4;
 
  498         typedef vec<1, i32, highp>              highp_i32vec1;
 
  502         typedef vec<2, i32, highp>              highp_i32vec2;
 
  506         typedef vec<3, i32, highp>              highp_i32vec3;
 
  510         typedef vec<4, i32, highp>              highp_i32vec4;
 
  512 #if(defined(GLM_PRECISION_LOWP_INT)) 
  517 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  518         typedef mediump_i32vec1                 
i32vec1;
 
  519         typedef mediump_i32vec2                 
i32vec2;
 
  520         typedef mediump_i32vec3                 
i32vec3;
 
  521         typedef mediump_i32vec4                 
i32vec4;
 
  543         typedef vec<1, i32, lowp>               lowp_i32vec1;
 
  547         typedef vec<2, i32, lowp>               lowp_i32vec2;
 
  551         typedef vec<3, i32, lowp>               lowp_i32vec3;
 
  555         typedef vec<4, i32, lowp>               lowp_i32vec4;
 
  560         typedef vec<1, i32, mediump>            mediump_i32vec1;
 
  564         typedef vec<2, i32, mediump>            mediump_i32vec2;
 
  568         typedef vec<3, i32, mediump>            mediump_i32vec3;
 
  572         typedef vec<4, i32, mediump>            mediump_i32vec4;
 
  577         typedef vec<1, i32, highp>              highp_i32vec1;
 
  581         typedef vec<2, i32, highp>              highp_i32vec2;
 
  585         typedef vec<3, i32, highp>              highp_i32vec3;
 
  589         typedef vec<4, i32, highp>              highp_i32vec4;
 
  591 #if(defined(GLM_PRECISION_LOWP_INT)) 
  596 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  597         typedef mediump_i32vec1                 
i32vec1;
 
  598         typedef mediump_i32vec2                 
i32vec2;
 
  599         typedef mediump_i32vec3                 
i32vec3;
 
  600         typedef mediump_i32vec4                 
i32vec4;
 
  623         typedef vec<1, i64, lowp>               lowp_i64vec1;
 
  627         typedef vec<2, i64, lowp>               lowp_i64vec2;
 
  631         typedef vec<3, i64, lowp>               lowp_i64vec3;
 
  635         typedef vec<4, i64, lowp>               lowp_i64vec4;
 
  640         typedef vec<1, i64, mediump>            mediump_i64vec1;
 
  644         typedef vec<2, i64, mediump>            mediump_i64vec2;
 
  648         typedef vec<3, i64, mediump>            mediump_i64vec3;
 
  652         typedef vec<4, i64, mediump>            mediump_i64vec4;
 
  657         typedef vec<1, i64, highp>              highp_i64vec1;
 
  661         typedef vec<2, i64, highp>              highp_i64vec2;
 
  665         typedef vec<3, i64, highp>              highp_i64vec3;
 
  669         typedef vec<4, i64, highp>              highp_i64vec4;
 
  671 #if(defined(GLM_PRECISION_LOWP_INT)) 
  676 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  677         typedef mediump_i64vec1                 
i64vec1;
 
  678         typedef mediump_i64vec2                 
i64vec2;
 
  679         typedef mediump_i64vec3                 
i64vec3;
 
  680         typedef mediump_i64vec4                 
i64vec4;
 
  857         typedef detail::uint8 
uint8;
 
  861         typedef detail::uint16 
uint16;
 
  865         typedef detail::uint32 
uint32;
 
  869         typedef detail::uint64 
uint64;
 
  871 #if GLM_HAS_EXTENDED_INTEGER_TYPE 
  896         typedef detail::uint8 
u8;
 
  900         typedef detail::uint16 
u16;
 
  904         typedef detail::uint32 
u32;
 
  908         typedef detail::uint64 
u64;
 
  914         typedef vec<1, u8, lowp> lowp_u8vec1;
 
  918         typedef vec<2, u8, lowp> lowp_u8vec2;
 
  922         typedef vec<3, u8, lowp> lowp_u8vec3;
 
  926         typedef vec<4, u8, lowp> lowp_u8vec4;
 
  931         typedef vec<1, u8, mediump> mediump_u8vec1;
 
  935         typedef vec<2, u8, mediump> mediump_u8vec2;
 
  939         typedef vec<3, u8, mediump> mediump_u8vec3;
 
  943         typedef vec<4, u8, mediump> mediump_u8vec4;
 
  948         typedef vec<1, u8, highp> highp_u8vec1;
 
  952         typedef vec<2, u8, highp> highp_u8vec2;
 
  956         typedef vec<3, u8, highp> highp_u8vec3;
 
  960         typedef vec<4, u8, highp> highp_u8vec4;
 
  962 #if(defined(GLM_PRECISION_LOWP_INT)) 
  963         typedef lowp_u8vec1                             
u8vec1;
 
  964         typedef lowp_u8vec2                             
u8vec2;
 
  965         typedef lowp_u8vec3                             
u8vec3;
 
  966         typedef lowp_u8vec4                             
u8vec4;
 
  967 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  968         typedef mediump_u8vec1                  
u8vec1;
 
  969         typedef mediump_u8vec2                  
u8vec2;
 
  970         typedef mediump_u8vec3                  
u8vec3;
 
  971         typedef mediump_u8vec4                  
u8vec4; 
 
  973         typedef highp_u8vec1                    
u8vec1;
 
  993         typedef vec<1, u16, lowp>               lowp_u16vec1;
 
  997         typedef vec<2, u16, lowp>               lowp_u16vec2;
 
 1001         typedef vec<3, u16, lowp>               lowp_u16vec3;
 
 1005         typedef vec<4, u16, lowp>               lowp_u16vec4;
 
 1010         typedef vec<1, u16, mediump>            mediump_u16vec1;
 
 1014         typedef vec<2, u16, mediump>            mediump_u16vec2;
 
 1018         typedef vec<3, u16, mediump>            mediump_u16vec3;
 
 1022         typedef vec<4, u16, mediump>            mediump_u16vec4;
 
 1027         typedef vec<1, u16, highp>              highp_u16vec1;
 
 1031         typedef vec<2, u16, highp>              highp_u16vec2;
 
 1035         typedef vec<3, u16, highp>              highp_u16vec3;
 
 1039         typedef vec<4, u16, highp>              highp_u16vec4;
 
 1042 #if(defined(GLM_PRECISION_LOWP_INT)) 
 1047 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
 1048         typedef mediump_u16vec1                 
u16vec1;
 
 1049         typedef mediump_u16vec2                 
u16vec2;
 
 1050         typedef mediump_u16vec3                 
u16vec3;
 
 1051         typedef mediump_u16vec4                 
u16vec4;
 
 1053         typedef highp_u16vec1                   
u16vec1;
 
 1073         typedef vec<1, u32, lowp>               lowp_u32vec1;
 
 1077         typedef vec<2, u32, lowp>               lowp_u32vec2;
 
 1081         typedef vec<3, u32, lowp>               lowp_u32vec3;
 
 1085         typedef vec<4, u32, lowp>               lowp_u32vec4;
 
 1090         typedef vec<1, u32, mediump>            mediump_u32vec1;
 
 1094         typedef vec<2, u32, mediump>            mediump_u32vec2;
 
 1098         typedef vec<3, u32, mediump>            mediump_u32vec3;
 
 1102         typedef vec<4, u32, mediump>            mediump_u32vec4;
 
 1107         typedef vec<1, u32, highp>              highp_u32vec1;
 
 1111         typedef vec<2, u32, highp>              highp_u32vec2;
 
 1115         typedef vec<3, u32, highp>              highp_u32vec3;
 
 1119         typedef vec<4, u32, highp>              highp_u32vec4;
 
 1121 #if(defined(GLM_PRECISION_LOWP_INT)) 
 1126 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
 1127         typedef mediump_u32vec1                 
u32vec1;
 
 1128         typedef mediump_u32vec2                 
u32vec2;
 
 1129         typedef mediump_u32vec3                 
u32vec3;
 
 1130         typedef mediump_u32vec4                 
u32vec4;
 
 1132         typedef highp_u32vec1                   
u32vec1;
 
 1152         typedef vec<1, u32, lowp>               lowp_u32vec1;
 
 1156         typedef vec<2, u32, lowp>               lowp_u32vec2;
 
 1160         typedef vec<3, u32, lowp>               lowp_u32vec3;
 
 1164         typedef vec<4, u32, lowp>               lowp_u32vec4;
 
 1169         typedef vec<1, u32, mediump>            mediump_u32vec1;
 
 1173         typedef vec<2, u32, mediump>            mediump_u32vec2;
 
 1177         typedef vec<3, u32, mediump>            mediump_u32vec3;
 
 1181         typedef vec<4, u32, mediump>            mediump_u32vec4;
 
 1186         typedef vec<1, u32, highp>              highp_u32vec1;
 
 1190         typedef vec<2, u32, highp>              highp_u32vec2;
 
 1194         typedef vec<3, u32, highp>              highp_u32vec3;
 
 1198         typedef vec<4, u32, highp>              highp_u32vec4;
 
 1200 #if(defined(GLM_PRECISION_LOWP_INT)) 
 1205 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
 1206         typedef mediump_u32vec1                 
u32vec1;
 
 1207         typedef mediump_u32vec2                 
u32vec2;
 
 1208         typedef mediump_u32vec3                 
u32vec3;
 
 1209         typedef mediump_u32vec4                 
u32vec4;
 
 1211         typedef highp_u32vec1                   
u32vec1;
 
 1217         typedef highp_u32vec2                   
u32vec2;
 
 1221         typedef highp_u32vec3                   
u32vec3;
 
 1225         typedef highp_u32vec4                   
u32vec4;
 
 1232         typedef vec<1, u64, lowp>               lowp_u64vec1;
 
 1236         typedef vec<2, u64, lowp>               lowp_u64vec2;
 
 1240         typedef vec<3, u64, lowp>               lowp_u64vec3;
 
 1244         typedef vec<4, u64, lowp>               lowp_u64vec4;
 
 1249         typedef vec<1, u64, mediump>            mediump_u64vec1;
 
 1253         typedef vec<2, u64, mediump>            mediump_u64vec2;
 
 1257         typedef vec<3, u64, mediump>            mediump_u64vec3;
 
 1261         typedef vec<4, u64, mediump>            mediump_u64vec4;
 
 1266         typedef vec<1, u64, highp>              highp_u64vec1;
 
 1270         typedef vec<2, u64, highp>              highp_u64vec2;
 
 1274         typedef vec<3, u64, highp>              highp_u64vec3;
 
 1278         typedef vec<4, u64, highp>              highp_u64vec4;
 
 1280 #if(defined(GLM_PRECISION_LOWP_UINT)) 
 1285 #elif(defined(GLM_PRECISION_MEDIUMP_UINT)) 
 1286         typedef mediump_u64vec1                 
u64vec1;
 
 1287         typedef mediump_u64vec2                 
u64vec2;
 
 1288         typedef mediump_u64vec3                 
u64vec3;
 
 1289         typedef mediump_u64vec4                 
u64vec4;
 
 1291         typedef highp_u64vec1                   
u64vec1;
 
 1314         typedef detail::float32 lowp_float32;
 
 1318         typedef detail::float64 lowp_float64;
 
 1322         typedef detail::float32 lowp_float32_t;
 
 1326         typedef detail::float64 lowp_float64_t;
 
 1338         typedef detail::float32 lowp_float32;
 
 1342         typedef detail::float64 lowp_float64;
 
 1346         typedef detail::float32 lowp_float32_t;
 
 1350         typedef detail::float64 lowp_float64_t;
 
 1363         typedef detail::float32 lowp_float32;
 
 1367         typedef detail::float64 lowp_float64;
 
 1371         typedef detail::float32 lowp_float32_t;
 
 1375         typedef detail::float64 lowp_float64_t;
 
 1388         typedef detail::float32 mediump_float32;
 
 1392         typedef detail::float64 mediump_float64;
 
 1396         typedef detail::float32 mediump_float32_t;
 
 1400         typedef detail::float64 mediump_float64_t;
 
 1413         typedef detail::float32 highp_float32;
 
 1417         typedef detail::float64 highp_float64;
 
 1421         typedef detail::float32 highp_float32_t;
 
 1425         typedef detail::float64 highp_float64_t;
 
 1436 #if(defined(GLM_PRECISION_LOWP_FLOAT)) 
 1455         typedef lowp_f32 
f32;
 
 1459         typedef lowp_f64 
f64;
 
 1461 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) 
 1465         typedef mediump_float32 float32;
 
 1469         typedef mediump_float64 float64;
 
 1481         typedef mediump_float32 
f32;
 
 1485         typedef mediump_float64 
f64;
 
 1487 #else//(defined(GLM_PRECISION_HIGHP_FLOAT)) 
 1491         typedef highp_float32 float32;
 
 1495         typedef highp_float64 float64;
 
 1517         typedef vec<1, float, lowp> lowp_vec1;
 
 1533         typedef vec<1, float, lowp> lowp_fvec1;
 
 1537         typedef vec<2, float, lowp> lowp_fvec2;
 
 1541         typedef vec<3, float, lowp> lowp_fvec3;
 
 1545         typedef vec<4, float, lowp> lowp_fvec4;
 
 1550         typedef vec<1, float, mediump> mediump_vec1;
 
 1566         typedef vec<1, float, mediump> mediump_fvec1;
 
 1570         typedef vec<2, float, mediump> mediump_fvec2;
 
 1574         typedef vec<3, float, mediump> mediump_fvec3;
 
 1578         typedef vec<4, float, mediump> mediump_fvec4;
 
 1583         typedef vec<1, float, highp> highp_vec1;
 
 1599         typedef vec<1, float, highp> highp_fvec1;
 
 1603         typedef vec<2, float, highp> highp_fvec2;
 
 1607         typedef vec<3, float, highp> highp_fvec3;
 
 1611         typedef vec<4, float, highp> highp_fvec4;
 
 1616         typedef vec<1, f32, lowp> lowp_f32vec1;
 
 1620         typedef vec<2, f32, lowp> lowp_f32vec2;
 
 1624         typedef vec<3, f32, lowp> lowp_f32vec3;
 
 1628         typedef vec<4, f32, lowp> lowp_f32vec4;
 
 1632         typedef vec<1, f32, mediump> mediump_f32vec1;
 
 1636         typedef vec<2, f32, mediump> mediump_f32vec2;
 
 1640         typedef vec<3, f32, mediump> mediump_f32vec3;
 
 1644         typedef vec<4, f32, mediump> mediump_f32vec4;
 
 1648         typedef vec<1, f32, highp> highp_f32vec1;
 
 1652         typedef vec<2, f32, highp> highp_f32vec2;
 
 1656         typedef vec<3, f32, highp> highp_f32vec3;
 
 1660         typedef vec<4, f32, highp> highp_f32vec4;
 
 1665         typedef vec<1, f64, lowp> lowp_f64vec1;
 
 1669         typedef vec<2, f64, lowp> lowp_f64vec2;
 
 1673         typedef vec<3, f64, lowp> lowp_f64vec3;
 
 1677         typedef vec<4, f64, lowp> lowp_f64vec4;
 
 1681         typedef vec<1, f64, mediump> mediump_f64vec1;
 
 1685         typedef vec<2, f64, mediump> mediump_f64vec2;
 
 1689         typedef vec<3, f64, mediump> mediump_f64vec3;
 
 1693         typedef vec<4, f64, mediump> mediump_f64vec4;
 
 1697         typedef vec<1, f64, highp> highp_f64vec1;
 
 1701         typedef vec<2, f64, highp> highp_f64vec2;
 
 1705         typedef vec<3, f64, highp> highp_f64vec3;
 
 1709         typedef vec<4, f64, highp> highp_f64vec4;
 
 1721         typedef mat<2, 2, f32, lowp> lowp_fmat2x2;
 
 1725         typedef mat<2, 3, f32, lowp> lowp_fmat2x3;
 
 1729         typedef mat<2, 4, f32, lowp> lowp_fmat2x4;
 
 1733         typedef mat<3, 2, f32, lowp> lowp_fmat3x2;
 
 1737         typedef mat<3, 3, f32, lowp> lowp_fmat3x3;
 
 1741         typedef mat<3, 4, f32, lowp> lowp_fmat3x4;
 
 1745         typedef mat<4, 2, f32, lowp> lowp_fmat4x2;
 
 1749         typedef mat<4, 3, f32, lowp> lowp_fmat4x3;
 
 1753         typedef mat<4, 4, f32, lowp> lowp_fmat4x4;
 
 1761         typedef lowp_fmat2x2 lowp_fmat2;
 
 1765         typedef lowp_fmat3x3 lowp_fmat3;
 
 1769         typedef lowp_fmat4x4 lowp_fmat4;
 
 1778         typedef mat<2, 2, f32, mediump> mediump_fmat2x2;
 
 1782         typedef mat<2, 3, f32, mediump> mediump_fmat2x3;
 
 1786         typedef mat<2, 4, f32, mediump> mediump_fmat2x4;
 
 1790         typedef mat<3, 2, f32, mediump> mediump_fmat3x2;
 
 1794         typedef mat<3, 3, f32, mediump> mediump_fmat3x3;
 
 1798         typedef mat<3, 4, f32, mediump> mediump_fmat3x4;
 
 1802         typedef mat<4, 2, f32, mediump> mediump_fmat4x2;
 
 1806         typedef mat<4, 3, f32, mediump> mediump_fmat4x3;
 
 1810         typedef mat<4, 4, f32, mediump> mediump_fmat4x4;
 
 1818         typedef mediump_fmat2x2 mediump_fmat2;
 
 1822         typedef mediump_fmat3x3 mediump_fmat3;
 
 1826         typedef mediump_fmat4x4 mediump_fmat4;
 
 1835         typedef mat<2, 2, f32, highp> highp_fmat2x2;
 
 1839         typedef mat<2, 3, f32, highp> highp_fmat2x3;
 
 1843         typedef mat<2, 4, f32, highp> highp_fmat2x4;
 
 1847         typedef mat<3, 2, f32, highp> highp_fmat3x2;
 
 1851         typedef mat<3, 3, f32, highp> highp_fmat3x3;
 
 1855         typedef mat<3, 4, f32, highp> highp_fmat3x4;
 
 1859         typedef mat<4, 2, f32, highp> highp_fmat4x2;
 
 1863         typedef mat<4, 3, f32, highp> highp_fmat4x3;
 
 1867         typedef mat<4, 4, f32, highp> highp_fmat4x4;
 
 1875         typedef highp_fmat2x2 highp_fmat2;
 
 1879         typedef highp_fmat3x3 highp_fmat3;
 
 1883         typedef highp_fmat4x4 highp_fmat4;
 
 1892         typedef mat<2, 2, f32, lowp> lowp_f32mat2x2;
 
 1896         typedef mat<2, 3, f32, lowp> lowp_f32mat2x3;
 
 1900         typedef mat<2, 4, f32, lowp> lowp_f32mat2x4;
 
 1904         typedef mat<3, 2, f32, lowp> lowp_f32mat3x2;
 
 1908         typedef mat<3, 3, f32, lowp> lowp_f32mat3x3;
 
 1912         typedef mat<3, 4, f32, lowp> lowp_f32mat3x4;
 
 1916         typedef mat<4, 2, f32, lowp> lowp_f32mat4x2;
 
 1920         typedef mat<4, 3, f32, lowp> lowp_f32mat4x3;
 
 1924         typedef mat<4, 4, f32, lowp> lowp_f32mat4x4;
 
 1932         typedef lowp_f32mat2x2 lowp_f32mat2;
 
 1936         typedef lowp_f32mat3x3 lowp_f32mat3;
 
 1940         typedef lowp_f32mat4x4 lowp_f32mat4;
 
 1949         typedef mat<2, 2, f32, mediump> mediump_f32mat2x2;
 
 1953         typedef mat<2, 3, f32, mediump> mediump_f32mat2x3;
 
 1957         typedef mat<2, 4, f32, mediump> mediump_f32mat2x4;
 
 1961         typedef mat<3, 2, f32, mediump> mediump_f32mat3x2;
 
 1965         typedef mat<3, 3, f32, mediump> mediump_f32mat3x3;
 
 1969         typedef mat<3, 4, f32, mediump> mediump_f32mat3x4;
 
 1973         typedef mat<4, 2, f32, mediump> mediump_f32mat4x2;
 
 1977         typedef mat<4, 3, f32, mediump> mediump_f32mat4x3;
 
 1981         typedef mat<4, 4, f32, mediump> mediump_f32mat4x4;
 
 1989         typedef mediump_f32mat2x2 mediump_f32mat2;
 
 1993         typedef mediump_f32mat3x3 mediump_f32mat3;
 
 1997         typedef mediump_f32mat4x4 mediump_f32mat4;
 
 2006         typedef mat<2, 2, f32, highp> highp_f32mat2x2;
 
 2010         typedef mat<2, 3, f32, highp> highp_f32mat2x3;
 
 2014         typedef mat<2, 4, f32, highp> highp_f32mat2x4;
 
 2018         typedef mat<3, 2, f32, highp> highp_f32mat3x2;
 
 2022         typedef mat<3, 3, f32, highp> highp_f32mat3x3;
 
 2026         typedef mat<3, 4, f32, highp> highp_f32mat3x4;
 
 2030         typedef mat<4, 2, f32, highp> highp_f32mat4x2;
 
 2034         typedef mat<4, 3, f32, highp> highp_f32mat4x3;
 
 2038         typedef mat<4, 4, f32, highp> highp_f32mat4x4;
 
 2046         typedef highp_f32mat2x2 highp_f32mat2;
 
 2050         typedef highp_f32mat3x3 highp_f32mat3;
 
 2054         typedef highp_f32mat4x4 highp_f32mat4;
 
 2063         typedef mat<2, 2, f64, lowp> lowp_f64mat2x2;
 
 2067         typedef mat<2, 3, f64, lowp> lowp_f64mat2x3;
 
 2071         typedef mat<2, 4, f64, lowp> lowp_f64mat2x4;
 
 2075         typedef mat<3, 2, f64, lowp> lowp_f64mat3x2;
 
 2079         typedef mat<3, 3, f64, lowp> lowp_f64mat3x3;
 
 2083         typedef mat<3, 4, f64, lowp> lowp_f64mat3x4;
 
 2087         typedef mat<4, 2, f64, lowp> lowp_f64mat4x2;
 
 2091         typedef mat<4, 3, f64, lowp> lowp_f64mat4x3;
 
 2095         typedef mat<4, 4, f64, lowp> lowp_f64mat4x4;
 
 2103         typedef lowp_f64mat2x2 lowp_f64mat2;
 
 2107         typedef lowp_f64mat3x3 lowp_f64mat3;
 
 2111         typedef lowp_f64mat4x4 lowp_f64mat4;
 
 2120         typedef mat<2, 2, f64, mediump> mediump_f64mat2x2;
 
 2124         typedef mat<2, 3, f64, mediump> mediump_f64mat2x3;
 
 2128         typedef mat<2, 4, f64, mediump> mediump_f64mat2x4;
 
 2132         typedef mat<3, 2, f64, mediump> mediump_f64mat3x2;
 
 2136         typedef mat<3, 3, f64, mediump> mediump_f64mat3x3;
 
 2140         typedef mat<3, 4, f64, mediump> mediump_f64mat3x4;
 
 2144         typedef mat<4, 2, f64, mediump> mediump_f64mat4x2;
 
 2148         typedef mat<4, 3, f64, mediump> mediump_f64mat4x3;
 
 2152         typedef mat<4, 4, f64, mediump> mediump_f64mat4x4;
 
 2160         typedef mediump_f64mat2x2 mediump_f64mat2;
 
 2164         typedef mediump_f64mat3x3 mediump_f64mat3;
 
 2168         typedef mediump_f64mat4x4 mediump_f64mat4;
 
 2176         typedef mat<2, 2, f64, highp> highp_f64mat2x2;
 
 2180         typedef mat<2, 3, f64, highp> highp_f64mat2x3;
 
 2184         typedef mat<2, 4, f64, highp> highp_f64mat2x4;
 
 2188         typedef mat<3, 2, f64, highp> highp_f64mat3x2;
 
 2192         typedef mat<3, 3, f64, highp> highp_f64mat3x3;
 
 2196         typedef mat<3, 4, f64, highp> highp_f64mat3x4;
 
 2200         typedef mat<4, 2, f64, highp> highp_f64mat4x2;
 
 2204         typedef mat<4, 3, f64, highp> highp_f64mat4x3;
 
 2208         typedef mat<4, 4, f64, highp> highp_f64mat4x4;
 
 2216         typedef highp_f64mat2x2 highp_f64mat2;
 
 2220         typedef highp_f64mat3x3 highp_f64mat3;
 
 2224         typedef highp_f64mat4x4 highp_f64mat4;
 
 2231         typedef tquat<f32, lowp> lowp_f32quat;
 
 2235         typedef tquat<f64, lowp> lowp_f64quat;
 
 2239         typedef tquat<f32, mediump> mediump_f32quat;
 
 2243         typedef tquat<f64, mediump> mediump_f64quat;
 
 2247         typedef tquat<f32, highp> highp_f32quat;
 
 2251         typedef tquat<f64, highp> highp_f64quat;
 
 2254 #if(defined(GLM_PRECISION_LOWP_FLOAT)) 
 2255         typedef lowp_f32vec1                    
fvec1;
 
 2256         typedef lowp_f32vec2                    
fvec2;
 
 2257         typedef lowp_f32vec3                    
fvec3;
 
 2258         typedef lowp_f32vec4                    
fvec4;
 
 2259         typedef lowp_f32mat2                    
fmat2;
 
 2260         typedef lowp_f32mat3                    
fmat3;
 
 2261         typedef lowp_f32mat4                    
fmat4;
 
 2262         typedef lowp_f32mat2x2                  
fmat2x2;
 
 2263         typedef lowp_f32mat3x2                  
fmat3x2;
 
 2264         typedef lowp_f32mat4x2                  
fmat4x2;
 
 2265         typedef lowp_f32mat2x3                  
fmat2x3;
 
 2266         typedef lowp_f32mat3x3                  
fmat3x3;
 
 2267         typedef lowp_f32mat4x3                  
fmat4x3;
 
 2268         typedef lowp_f32mat2x4                  
fmat2x4;
 
 2269         typedef lowp_f32mat3x4                  
fmat3x4;
 
 2270         typedef lowp_f32mat4x4                  
fmat4x4;
 
 2271         typedef lowp_f32quat                    fquat;
 
 2290 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) 
 2291         typedef mediump_f32vec1                 
fvec1;
 
 2292         typedef mediump_f32vec2                 
fvec2;
 
 2293         typedef mediump_f32vec3                 
fvec3;
 
 2294         typedef mediump_f32vec4                 
fvec4;
 
 2295         typedef mediump_f32mat2                 
fmat2;
 
 2296         typedef mediump_f32mat3                 
fmat3;
 
 2297         typedef mediump_f32mat4                 
fmat4;
 
 2298         typedef mediump_f32mat2x2               
fmat2x2;
 
 2299         typedef mediump_f32mat3x2               
fmat3x2;
 
 2300         typedef mediump_f32mat4x2               
fmat4x2;
 
 2301         typedef mediump_f32mat2x3               
fmat2x3;
 
 2302         typedef mediump_f32mat3x3               
fmat3x3;
 
 2303         typedef mediump_f32mat4x3               
fmat4x3;
 
 2304         typedef mediump_f32mat2x4               
fmat2x4;
 
 2305         typedef mediump_f32mat3x4               
fmat3x4;
 
 2306         typedef mediump_f32mat4x4               
fmat4x4;
 
 2307         typedef mediump_f32quat                 fquat;
 
 2309         typedef mediump_f32vec1                 
f32vec1;
 
 2310         typedef mediump_f32vec2                 
f32vec2;
 
 2311         typedef mediump_f32vec3                 
f32vec3;
 
 2312         typedef mediump_f32vec4                 
f32vec4;
 
 2313         typedef mediump_f32mat2                 
f32mat2;
 
 2314         typedef mediump_f32mat3                 
f32mat3;
 
 2315         typedef mediump_f32mat4                 
f32mat4;
 
 2325         typedef mediump_f32quat                 
f32quat;
 
 2326 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT)) 
 2327         typedef highp_f32vec1                   
fvec1;
 
 2393         typedef highp_fquat                             fquat;
 
 2466 #if(defined(GLM_PRECISION_LOWP_DOUBLE)) 
 2484 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) 
 2485         typedef mediump_f64vec1                 
f64vec1;
 
 2486         typedef mediump_f64vec2                 
f64vec2;
 
 2487         typedef mediump_f64vec3                 
f64vec3;
 
 2488         typedef mediump_f64vec4                 
f64vec4;
 
 2489         typedef mediump_f64mat2                 
f64mat2;
 
 2490         typedef mediump_f64mat3                 
f64mat3;
 
 2491         typedef mediump_f64mat4                 
f64mat4;
 
 2501         typedef mediump_f64quat                 
f64quat;
 
 2503         typedef highp_f64vec1                   
f64vec1;
 
detail::uint64 u64
64 bit unsigned integer type. 
f32mat2x2 f32mat2
Default single-qualifier floating-point 2x2 matrix. 
fmat2x2 fmat2
Default single-qualifier floating-point 2x2 matrix. 
detail::int64 mediump_i64
Medium qualifier 64 bit signed integer type. 
detail::uint64 highp_u64
Medium qualifier 64 bit unsigned integer type. 
detail::int16 int16_t
16 bit signed integer type. 
detail::int64 int64_t
64 bit signed integer type. 
detail::int32 i32
32 bit signed integer type. 
detail::uint32 lowp_uint32_t
Low qualifier 32 bit unsigned integer type. 
detail::int16 highp_int16
High qualifier 16 bit signed integer type. 
vec< 4, float, highp > highp_vec4
4 components vector of high single-qualifier floating-point numbers. 
detail::int8 lowp_int8
Low qualifier 8 bit signed integer type. 
detail::int16 lowp_int16
Low qualifier 16 bit signed integer type. 
highp_f32quat f32quat
Default single-qualifier floating-point quaternion. 
highp_f32mat4x3 fmat4x3
Default single-qualifier floating-point 4x3 matrix. 
highp_f32mat3x2 f32mat3x2
Default single-qualifier floating-point 3x2 matrix. 
detail::int16 i16
16 bit signed integer type. 
detail::int64 i64
64 bit signed integer type. 
detail::int8 int8
8 bit signed integer type. 
detail::int16 highp_int16_t
High qualifier 16 bit signed integer type. 
detail::uint8 highp_uint8
Medium qualifier 8 bit unsigned integer type. 
detail::int8 highp_int8_t
High qualifier 8 bit signed integer type. 
detail::uint8 mediump_uint8
Medium qualifier 8 bit unsigned integer type. 
detail::uint8 mediump_u8
Medium qualifier 8 bit unsigned integer type. 
highp_i64vec3 i64vec3
Default qualifier 64 bit signed integer vector of 3 components type. 
highp_u8vec4 u8vec4
Default qualifier 8 bit unsigned integer vector of 4 components type. 
detail::uint32 u32
32 bit unsigned integer type. 
highp_u64vec4 u64vec4
Default qualifier 64 bit unsigned integer vector of 4 components type. 
highp_u8vec1 u8vec1
Default qualifier 8 bit unsigned integer scalar type. 
highp_f32mat4x4 fmat4x4
Default single-qualifier floating-point 4x4 matrix. 
highp_u8vec3 u8vec3
Default qualifier 8 bit unsigned integer vector of 3 components type. 
highp_f32mat2x3 f32mat2x3
Default single-qualifier floating-point 2x3 matrix. 
highp_f32vec3 f32vec3
Default single-qualifier floating-point vector of 3 components. 
detail::int8 mediump_int8
Medium qualifier 8 bit signed integer type. 
detail::int8 mediump_i8
Medium qualifier 8 bit signed integer type. 
detail::uint64 highp_uint64_t
Medium qualifier 64 bit unsigned integer type. 
highp_f32mat4x3 f32mat4x3
Default single-qualifier floating-point 4x3 matrix. 
detail::uint32 lowp_uint32
Low qualifier 32 bit unsigned integer type. 
highp_i64vec1 i64vec1
Default qualifier 64 bit signed integer scalar type. 
detail::int16 mediump_int16_t
Medium qualifier 16 bit signed integer type. 
detail::uint16 lowp_uint16
Low qualifier 16 bit unsigned integer type. 
highp_f64mat3x3 f64mat3x3
Default double-qualifier floating-point 3x3 matrix. 
detail::uint16 u16
16 bit unsigned integer type. 
highp_f32vec2 fvec2
Default single-qualifier floating-point vector of 2 components. 
highp_float64_t f64
Default 64 bit double-qualifier floating-point scalar. 
highp_f32mat3x2 fmat3x2
Default single-qualifier floating-point 3x2 matrix. 
highp_f64vec4 f64vec4
Default double-qualifier floating-point vector of 4 components. 
highp_f32mat4x2 f32mat4x2
Default single-qualifier floating-point 4x2 matrix. 
detail::int32 mediump_int32
Medium qualifier 32 bit signed integer type. 
highp_i8vec3 i8vec3
Default qualifier 8 bit signed integer vector of 3 components type. 
detail::int32 lowp_i32
Low qualifier 32 bit signed integer type. 
detail::int16 highp_i16
High qualifier 16 bit signed integer type. 
detail::uint8 uint8_t
8 bit unsigned integer type. 
detail::int32 lowp_int32_t
Low qualifier 32 bit signed integer type. 
highp_f64vec2 f64vec2
Default double-qualifier floating-point vector of 2 components. 
highp_u8vec2 u8vec2
Default qualifier 8 bit unsigned integer vector of 2 components type. 
detail::int32 highp_i32
High qualifier 32 bit signed integer type. 
highp_float32_t float32_t
Default 32 bit single-qualifier floating-point scalar. 
vec< 3, float, lowp > lowp_vec3
3 components vector of low single-qualifier floating-point numbers. 
detail::uint16 highp_u16
Medium qualifier 16 bit unsigned integer type. 
highp_i32vec3 i32vec3
Default qualifier 32 bit signed integer vector of 3 components type. 
detail::uint32 highp_u32
Medium qualifier 32 bit unsigned integer type. 
detail::int16 int16
16 bit signed integer type. 
detail::int64 int64
64 bit signed integer type. 
detail::uint64 lowp_uint64_t
Low qualifier 64 bit unsigned integer type. 
highp_i8vec1 i8vec1
Default qualifier 8 bit signed integer scalar type. 
fmat4x4 fmat4
Default single-qualifier floating-point 4x4 matrix. 
highp_f32mat4x4 f32mat4x4
Default single-qualifier floating-point 4x4 matrix. 
double float64
Default 64 bit double-qualifier floating-point scalar. 
highp_i32vec1 i32vec1
Default qualifier 32 bit signed integer scalar type. 
detail::uint32 lowp_u32
Low qualifier 32 bit unsigned integer type. 
detail::int8 highp_int8
High qualifier 8 bit signed integer type. 
highp_f64mat4x4 f64mat4x4
Default double-qualifier floating-point 4x4 matrix. 
highp_f32mat3x3 f32mat3x3
Default single-qualifier floating-point 3x3 matrix. 
detail::uint8 lowp_uint8_t
Low qualifier 8 bit unsigned integer type. 
highp_u32vec3 u32vec3
Default qualifier 32 bit unsigned integer vector of 3 components type. 
highp_f64mat2x4 f64mat2x4
Default double-qualifier floating-point 2x4 matrix. 
highp_f32vec2 f32vec2
Default single-qualifier floating-point vector of 2 components. 
f32mat3x3 f32mat3
Default single-qualifier floating-point 3x3 matrix. 
highp_i32vec2 i32vec2
Default qualifier 32 bit signed integer vector of 2 components type. 
detail::int8 int8_t
8 bit signed integer type. 
detail::uint64 lowp_u64
Low qualifier 64 bit unsigned integer type. 
highp_u64vec2 u64vec2
Default qualifier 64 bit unsigned integer vector of 2 components type. 
detail::uint64 mediump_uint64
Medium qualifier 64 bit unsigned integer type. 
detail::uint16 uint16
16 bit unsigned integer type. 
highp_u32vec4 u32vec4
Default qualifier 32 bit unsigned integer vector of 4 components type. 
highp_f32mat3x3 fmat3x3
Default single-qualifier floating-point 3x3 matrix. 
highp_f32mat3x4 f32mat3x4
Default single-qualifier floating-point 3x4 matrix. 
highp_f32vec4 f32vec4
Default single-qualifier floating-point vector of 4 components. 
detail::uint8 u8
8 bit unsigned integer type. 
detail::uint8 highp_uint8_t
Medium qualifier 8 bit unsigned integer type. 
detail::int64 lowp_int64_t
Low qualifier 64 bit signed integer type. 
detail::uint16 lowp_u16
Low qualifier 16 bit unsigned integer type. 
highp_u64vec3 u64vec3
Default qualifier 64 bit unsigned integer vector of 3 components type. 
vec< 4, float, lowp > lowp_vec4
4 components vector of low single-qualifier floating-point numbers. 
fmat3x3 fmat3
Default single-qualifier floating-point 3x3 matrix. 
highp_f64mat2x2 f64mat2x2
Default double-qualifier floating-point 2x2 matrix. 
detail::uint64 highp_uint64
Medium qualifier 64 bit unsigned integer type. 
vec< 3, float, mediump > mediump_vec3
3 components vector of medium single-qualifier floating-point numbers. 
detail::int64 lowp_i64
Low qualifier 64 bit signed integer type. 
f64mat4x4 f64mat4
Default double-qualifier floating-point 4x4 matrix. 
detail::int32 lowp_int32
Low qualifier 32 bit signed integer type. 
f64mat3x3 f64mat3
Default double-qualifier floating-point 3x3 matrix. 
detail::uint16 lowp_uint16_t
Low qualifier 16 bit unsigned integer type. 
highp_f64mat3x4 f64mat3x4
Default double-qualifier floating-point 3x4 matrix. 
detail::int64 highp_i64
High qualifier 64 bit signed integer type. 
detail::int32 highp_int32
High qualifier 32 bit signed integer type. 
highp_u16vec4 u16vec4
Default qualifier 16 bit unsigned integer vector of 4 components type. 
highp_f32vec3 fvec3
Default single-qualifier floating-point vector of 3 components. 
vec< 4, float, mediump > mediump_vec4
4 components vector of medium single-qualifier floating-point numbers. 
detail::int32 mediump_int32_t
Medium qualifier 32 bit signed integer type. 
detail::uint16 mediump_u16
Medium qualifier 16 bit unsigned integer type. 
highp_f64vec3 f64vec3
Default double-qualifier floating-point vector of 3 components. 
detail::uint16 highp_uint16_t
Medium qualifier 16 bit unsigned integer type. 
detail::uint32 mediump_uint32
Medium qualifier 32 bit unsigned integer type. 
detail::int8 i8
8 bit signed integer type. 
highp_i8vec2 i8vec2
Default qualifier 8 bit signed integer vector of 2 components type. 
detail::uint64 uint64
64 bit unsigned integer type. 
detail::int16 lowp_i16
Low qualifier 16 bit signed integer type. 
detail::uint64 lowp_uint64
Low qualifier 64 bit unsigned integer type. 
detail::int64 highp_int64
High qualifier 64 bit signed integer type. 
highp_i64vec2 i64vec2
Default qualifier 64 bit signed integer vector of 2 components type. 
vec< 3, float, highp > highp_vec3
3 components vector of high single-qualifier floating-point numbers. 
detail::uint32 mediump_u32
Medium qualifier 32 bit unsigned integer type. 
detail::int64 mediump_int64_t
Medium qualifier 64 bit signed integer type. 
detail::uint32 mediump_uint32_t
Medium qualifier 32 bit unsigned integer type. 
highp_f32mat2x4 fmat2x4
Default single-qualifier floating-point 2x4 matrix. 
vec< 2, float, lowp > lowp_vec2
2 components vector of low single-qualifier floating-point numbers. 
highp_f64quat f64quat
Default double-qualifier floating-point quaternion. 
detail::int16 mediump_i16
Medium qualifier 16 bit signed integer type. 
highp_i8vec4 i8vec4
Default qualifier 8 bit signed integer vector of 4 components type. 
detail::uint8 uint8
8 bit unsigned integer type. 
highp_f32mat4x2 fmat4x2
Default single-qualifier floating-point 4x2 matrix. 
detail::uint32 uint32
32 bit unsigned integer type. 
detail::uint32 uint32_t
32 bit unsigned integer type. 
detail::int32 int32_t
32 bit signed integer type. 
highp_i16vec1 i16vec1
Default qualifier 16 bit signed integer scalar type. 
highp_i32vec4 i32vec4
Default qualifier 32 bit signed integer vector of 4 components type. 
highp_u32vec2 u32vec2
Default qualifier 32 bit unsigned integer vector of 2 components type. 
detail::uint16 mediump_uint16
Medium qualifier 16 bit unsigned integer type. 
highp_f64mat4x3 f64mat4x3
Default double-qualifier floating-point 4x3 matrix. 
detail::uint64 uint64_t
64 bit unsigned integer type. 
highp_f32mat2x4 f32mat2x4
Default single-qualifier floating-point 2x4 matrix. 
highp_f64mat2x3 f64mat2x3
Default double-qualifier floating-point 2x3 matrix. 
highp_u16vec3 u16vec3
Default qualifier 16 bit unsigned integer vector of 3 components type. 
detail::int64 lowp_int64
Low qualifier 64 bit signed integer type. 
detail::int16 lowp_int16_t
Low qualifier 16 bit signed integer type. 
detail::uint8 mediump_uint8_t
Medium qualifier 8 bit unsigned integer type. 
highp_f64mat3x2 f64mat3x2
Default double-qualifier floating-point 3x2 matrix. 
detail::int16 mediump_int16
Medium qualifier 16 bit signed integer type. 
highp_float64_t float64_t
Default 64 bit double-qualifier floating-point scalar. 
highp_f32mat2x3 fmat2x3
Default single-qualifier floating-point 2x3 matrix. 
highp_u16vec1 u16vec1
Default qualifier 16 bit unsigned integer scalar type. 
f32mat4x4 f32mat4
Default single-qualifier floating-point 4x4 matrix. 
vec< 2, float, highp > highp_vec2
2 components vector of high single-qualifier floating-point numbers. 
highp_f64mat4x2 f64mat4x2
Default double-qualifier floating-point 4x2 matrix. 
f64mat2x2 f64mat2
Default double-qualifier floating-point 2x2 matrix. 
highp_f32mat2x2 fmat2x2
Default single-qualifier floating-point 2x2 matrix. 
detail::uint16 uint16_t
16 bit unsigned integer type. 
highp_f32vec1 f32vec1
Default single-qualifier floating-point vector of 1 components. 
highp_f32vec4 fvec4
Default single-qualifier floating-point vector of 4 components. 
highp_float32_t f32
Default 32 bit single-qualifier floating-point scalar. 
detail::int8 lowp_i8
Low qualifier 8 bit signed integer type. 
highp_f32mat3x4 fmat3x4
Default single-qualifier floating-point 3x4 matrix. 
highp_u64vec1 u64vec1
Default qualifier 64 bit unsigned integer scalar type. 
detail::int8 lowp_int8_t
Low qualifier 8 bit signed integer type. 
highp_i16vec4 i16vec4
Default qualifier 16 bit signed integer vector of 4 components type. 
detail::int32 highp_int32_t
32 bit signed integer type. 
vec< 2, float, mediump > mediump_vec2
2 components vector of medium single-qualifier floating-point numbers. 
detail::int64 mediump_int64
Medium qualifier 64 bit signed integer type. 
float float32
Default 32 bit single-qualifier floating-point scalar. 
detail::uint64 mediump_u64
Medium qualifier 64 bit unsigned integer type. 
detail::uint8 lowp_uint8
Low qualifier 8 bit unsigned integer type. 
highp_f64vec1 f64vec1
Default double-qualifier floating-point vector of 1 components. 
detail::uint8 lowp_u8
Low qualifier 8 bit unsigned integer type. 
highp_f32mat2x2 f32mat2x2
Default single-qualifier floating-point 2x2 matrix. 
highp_i16vec3 i16vec3
Default qualifier 16 bit signed integer vector of 3 components type. 
detail::uint32 highp_uint32
Medium qualifier 32 bit unsigned integer type. 
detail::uint16 mediump_uint16_t
Medium qualifier 16 bit unsigned integer type. 
detail::uint64 mediump_uint64_t
Medium qualifier 64 bit unsigned integer type. 
highp_u16vec2 u16vec2
Default qualifier 16 bit unsigned integer vector of 2 components type. 
highp_i16vec2 i16vec2
Default qualifier 16 bit signed integer vector of 2 components type. 
highp_i64vec4 i64vec4
Default qualifier 64 bit signed integer vector of 4 components type. 
highp_f32vec1 fvec1
Default single-qualifier floating-point vector of 1 components. 
detail::int32 int32
32 bit signed integer type. 
detail::uint8 highp_u8
Medium qualifier 8 bit unsigned integer type. 
detail::int64 highp_int64_t
High qualifier 64 bit signed integer type. 
detail::int8 mediump_int8_t
Medium qualifier 8 bit signed integer type. 
detail::uint16 highp_uint16
Medium qualifier 16 bit unsigned integer type. 
detail::uint32 highp_uint32_t
Medium qualifier 32 bit unsigned integer type. 
highp_u32vec1 u32vec1
Default qualifier 32 bit unsigned integer scalar type. 
detail::int32 mediump_i32
Medium qualifier 32 bit signed integer type. 
detail::int8 highp_i8
High qualifier 8 bit signed integer type.