00001
00002
00004
00005
00006
00007
00009
00010 #ifndef glm_core_type
00011 #define glm_core_type
00012
00013 #include "type_half.hpp"
00014 #include "type_float.hpp"
00015 #include "type_int.hpp"
00016
00017 #include "type_gentype.hpp"
00018
00019 #include "type_vec1.hpp"
00020 #include "type_vec2.hpp"
00021 #include "type_vec3.hpp"
00022 #include "type_vec4.hpp"
00023
00024 #include "type_mat2x2.hpp"
00025 #include "type_mat2x3.hpp"
00026 #include "type_mat2x4.hpp"
00027 #include "type_mat3x2.hpp"
00028 #include "type_mat3x3.hpp"
00029 #include "type_mat3x4.hpp"
00030 #include "type_mat4x2.hpp"
00031 #include "type_mat4x3.hpp"
00032 #include "type_mat4x4.hpp"
00033
00034 namespace glm{
00035 namespace core{
00036 namespace type
00037 {
00039
00040
00041 #if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_FLOAT)
00042 typedef precision::highp_vec2 vec2;
00043 typedef precision::highp_vec3 vec3;
00044 typedef precision::highp_vec4 vec4;
00045 typedef precision::highp_mat2x2 mat2x2;
00046 typedef precision::highp_mat2x3 mat2x3;
00047 typedef precision::highp_mat2x4 mat2x4;
00048 typedef precision::highp_mat3x2 mat3x2;
00049 typedef precision::highp_mat3x3 mat3x3;
00050 typedef precision::highp_mat3x4 mat3x4;
00051 typedef precision::highp_mat4x2 mat4x2;
00052 typedef precision::highp_mat4x3 mat4x3;
00053 typedef precision::highp_mat4x4 mat4x4;
00054 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_FLOAT)
00055 typedef precision::mediump_vec2 vec2;
00056 typedef precision::mediump_vec3 vec3;
00057 typedef precision::mediump_vec4 vec4;
00058 typedef precision::mediump_mat2x2 mat2x2;
00059 typedef precision::mediump_mat2x3 mat2x3;
00060 typedef precision::mediump_mat2x4 mat2x4;
00061 typedef precision::mediump_mat3x2 mat3x2;
00062 typedef precision::mediump_mat3x3 mat3x3;
00063 typedef precision::mediump_mat3x4 mat3x4;
00064 typedef precision::mediump_mat4x2 mat4x2;
00065 typedef precision::mediump_mat4x3 mat4x3;
00066 typedef precision::mediump_mat4x4 mat4x4;
00067 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_FLOAT)
00068 typedef precision::lowp_vec2 vec2;
00069 typedef precision::lowp_vec3 vec3;
00070 typedef precision::lowp_vec4 vec4;
00071 typedef precision::lowp_mat2x2 mat2x2;
00072 typedef precision::lowp_mat2x3 mat2x3;
00073 typedef precision::lowp_mat2x4 mat2x4;
00074 typedef precision::lowp_mat3x2 mat3x2;
00075 typedef precision::lowp_mat3x3 mat3x3;
00076 typedef precision::lowp_mat3x4 mat3x4;
00077 typedef precision::lowp_mat4x2 mat4x2;
00078 typedef precision::lowp_mat4x3 mat4x3;
00079 typedef precision::lowp_mat4x4 mat4x4;
00080 #else
00081
00082
00083 typedef precision::mediump_vec2 vec2;
00084
00087 typedef precision::mediump_vec3 vec3;
00088
00091 typedef precision::mediump_vec4 vec4;
00092
00095 typedef precision::mediump_mat2x2 mat2x2;
00096
00099 typedef precision::mediump_mat2x3 mat2x3;
00100
00103 typedef precision::mediump_mat2x4 mat2x4;
00104
00107 typedef precision::mediump_mat3x2 mat3x2;
00108
00111 typedef precision::mediump_mat3x3 mat3x3;
00112
00115 typedef precision::mediump_mat3x4 mat3x4;
00116
00119 typedef precision::mediump_mat4x2 mat4x2;
00120
00123 typedef precision::mediump_mat4x3 mat4x3;
00124
00127 typedef precision::mediump_mat4x4 mat4x4;
00128
00129 #endif//GLM_PRECISION
00130
00133 typedef mat2x2 mat2;
00134
00137 typedef mat3x3 mat3;
00138
00141 typedef mat4x4 mat4;
00142
00144
00145
00146 #if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_INT)
00147 typedef precision::highp_ivec2 ivec2;
00148 typedef precision::highp_ivec3 ivec3;
00149 typedef precision::highp_ivec4 ivec4;
00150 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_INT)
00151 typedef precision::mediump_ivec2 ivec2;
00152 typedef precision::mediump_ivec3 ivec3;
00153 typedef precision::mediump_ivec4 ivec4;
00154 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_INT)
00155 typedef precision::lowp_ivec2 ivec2;
00156 typedef precision::lowp_ivec3 ivec3;
00157 typedef precision::lowp_ivec4 ivec4;
00158 #else
00159
00160
00161 typedef precision::mediump_ivec2 ivec2;
00162
00165 typedef precision::mediump_ivec3 ivec3;
00166
00169 typedef precision::mediump_ivec4 ivec4;
00170 #endif//GLM_PRECISION
00171
00173
00174
00175 #if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_UINT)
00176 typedef precision::highp_uvec2 uvec2;
00177 typedef precision::highp_uvec3 uvec3;
00178 typedef precision::highp_uvec4 uvec4;
00179 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_UINT)
00180 typedef precision::mediump_uvec2 uvec2;
00181 typedef precision::mediump_uvec3 uvec3;
00182 typedef precision::mediump_uvec4 uvec4;
00183 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_UINT)
00184 typedef precision::lowp_uvec2 uvec2;
00185 typedef precision::lowp_uvec3 uvec3;
00186 typedef precision::lowp_uvec4 uvec4;
00187 #else
00188
00189
00190 typedef precision::mediump_uvec2 uvec2;
00191
00194 typedef precision::mediump_uvec3 uvec3;
00195
00198 typedef precision::mediump_uvec4 uvec4;
00199 #endif//GLM_PRECISION
00200
00202
00203
00206 typedef detail::tvec2<bool> bvec2;
00207
00210 typedef detail::tvec3<bool> bvec3;
00211
00214 typedef detail::tvec4<bool> bvec4;
00215
00217
00218
00221 typedef detail::tvec2<double> dvec2;
00222
00225 typedef detail::tvec3<double> dvec3;
00226
00229 typedef detail::tvec4<double> dvec4;
00230
00233 typedef detail::tmat2x2<double> dmat2;
00234
00237 typedef detail::tmat3x3<double> dmat3;
00238
00241 typedef detail::tmat4x4<double> dmat4;
00242
00245 typedef detail::tmat2x2<double> dmat2x2;
00246
00249 typedef detail::tmat2x3<double> dmat2x3;
00250
00253 typedef detail::tmat2x4<double> dmat2x4;
00254
00257 typedef detail::tmat3x2<double> dmat3x2;
00258
00261 typedef detail::tmat3x3<double> dmat3x3;
00262
00265 typedef detail::tmat3x4<double> dmat3x4;
00266
00269 typedef detail::tmat4x2<double> dmat4x2;
00270
00273 typedef detail::tmat4x3<double> dmat4x3;
00274
00277 typedef detail::tmat4x4<double> dmat4x4;
00278
00279 }
00280 }
00281 }
00282
00283 #endif//glm_core_type