- Main Page
- Related Pages
- Modules
- Classes
- Files

- File List

# type.hpp

Go to the documentation of this file.

    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 #ifndef glm_core_type
    00030 #define glm_core_type
    00031
    00032 #include "type_half.hpp"
    00033 #include "type_float.hpp"
    00034 #include "type_int.hpp"
    00035
    00036 #include "type_gentype.hpp"
    00037
    00038 #include "type_vec1.hpp"
    00039 #include "type_vec2.hpp"
    00040 #include "type_vec3.hpp"
    00041 #include "type_vec4.hpp"
    00042
    00043 #include "type_mat2x2.hpp"
    00044 #include "type_mat2x3.hpp"
    00045 #include "type_mat2x4.hpp"
    00046 #include "type_mat3x2.hpp"
    00047 #include "type_mat3x3.hpp"
    00048 #include "type_mat3x4.hpp"
    00049 #include "type_mat4x2.hpp"
    00050 #include "type_mat4x3.hpp"
    00051 #include "type_mat4x4.hpp"
    00052
    00053 namespace glm
    00054 {
    00056         // Float definition
    00057
    00058 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
    00059         typedef highp_vec2          vec2;
    00060         typedef highp_vec3          vec3;
    00061         typedef highp_vec4          vec4;
    00062         typedef highp_mat2x2            mat2x2;
    00063         typedef highp_mat2x3            mat2x3;
    00064         typedef highp_mat2x4            mat2x4;
    00065         typedef highp_mat3x2            mat3x2;
    00066         typedef highp_mat3x3            mat3x3;
    00067         typedef highp_mat3x4            mat3x4;
    00068         typedef highp_mat4x2            mat4x2;
    00069         typedef highp_mat4x3            mat4x3;
    00070         typedef highp_mat4x4            mat4x4;
    00071 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
    00072         typedef mediump_vec2            vec2;
    00073         typedef mediump_vec3            vec3;
    00074         typedef mediump_vec4            vec4;
    00075         typedef mediump_mat2x2      mat2x2;
    00076         typedef mediump_mat2x3      mat2x3;
    00077         typedef mediump_mat2x4      mat2x4;
    00078         typedef mediump_mat3x2      mat3x2;
    00079         typedef mediump_mat3x3      mat3x3;
    00080         typedef mediump_mat3x4      mat3x4;
    00081         typedef mediump_mat4x2      mat4x2;
    00082         typedef mediump_mat4x3      mat4x3;
    00083         typedef mediump_mat4x4      mat4x4;
    00084 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
    00085         typedef lowp_vec2                       vec2;
    00086         typedef lowp_vec3                       vec3;
    00087         typedef lowp_vec4                       vec4;
    00088         typedef lowp_mat2x2                     mat2x2;
    00089         typedef lowp_mat2x3                     mat2x3;
    00090         typedef lowp_mat2x4                     mat2x4;
    00091         typedef lowp_mat3x2                     mat3x2;
    00092         typedef lowp_mat3x3                     mat3x3;
    00093         typedef lowp_mat3x4                     mat3x4;
    00094         typedef lowp_mat4x2                     mat4x2;
    00095         typedef lowp_mat4x3                     mat4x3;
    00096         typedef lowp_mat4x4                     mat4x4;
    00097 #else
    00098
    00099
    00100
    00101         typedef mediump_vec2            vec2;
    00102
    00106         typedef mediump_vec3            vec3;
    00107
    00111         typedef mediump_vec4            vec4;
    00112
    00116         typedef mediump_mat2x2          mat2x2;
    00117
    00121         typedef mediump_mat2x3          mat2x3;
    00122
    00126         typedef mediump_mat2x4          mat2x4;
    00127
    00131         typedef mediump_mat3x2          mat3x2;
    00132
    00136         typedef mediump_mat3x3          mat3x3;
    00137
    00141         typedef mediump_mat3x4          mat3x4;
    00142
    00146         typedef mediump_mat4x2          mat4x2;
    00147
    00151         typedef mediump_mat4x3          mat4x3;
    00152
    00156         typedef mediump_mat4x4          mat4x4;
    00157
    00158 #endif//GLM_PRECISION
    00159
    00163         typedef mat2x2                                                  mat2;
    00164
    00168         typedef mat3x3                                                  mat3;
    00169
    00173         typedef mat4x4                                                  mat4;
    00174
    00176         // Signed integer definition
    00177
    00178 #if(defined(GLM_PRECISION_HIGHP_INT))
    00179         typedef highp_ivec2                     ivec2;
    00180         typedef highp_ivec3                     ivec3;
    00181         typedef highp_ivec4                     ivec4;
    00182 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
    00183         typedef mediump_ivec2           ivec2;
    00184         typedef mediump_ivec3           ivec3;
    00185         typedef mediump_ivec4           ivec4;
    00186 #elif(defined(GLM_PRECISION_LOWP_INT))
    00187         typedef lowp_ivec2                      ivec2;
    00188         typedef lowp_ivec3                      ivec3;
    00189         typedef lowp_ivec4                      ivec4;
    00190 #else
    00191
    00192
    00193
    00194         typedef mediump_ivec2           ivec2;
    00195
    00199         typedef mediump_ivec3           ivec3;
    00200
    00204         typedef mediump_ivec4           ivec4;
    00205 #endif//GLM_PRECISION
    00206
    00208         // Unsigned integer definition
    00209
    00210 #if(defined(GLM_PRECISION_HIGHP_UINT))
    00211         typedef highp_uvec2                     uvec2;
    00212         typedef highp_uvec3                     uvec3;
    00213         typedef highp_uvec4                     uvec4;
    00214 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
    00215         typedef mediump_uvec2           uvec2;
    00216         typedef mediump_uvec3           uvec3;
    00217         typedef mediump_uvec4           uvec4;
    00218 #elif(defined(GLM_PRECISION_LOWP_UINT))
    00219         typedef lowp_uvec2                      uvec2;
    00220         typedef lowp_uvec3                      uvec3;
    00221         typedef lowp_uvec4                      uvec4;
    00222 #else
    00223
    00224
    00225
    00226         typedef mediump_uvec2           uvec2;
    00227
    00231         typedef mediump_uvec3           uvec3;
    00232
    00236         typedef mediump_uvec4           uvec4;
    00237 #endif//GLM_PRECISION
    00238
    00240         // Boolean definition
    00241
    00245         typedef detail::tvec2<bool>             bvec2;
    00246
    00250         typedef detail::tvec3<bool>             bvec3;
    00251
    00255         typedef detail::tvec4<bool>             bvec4;
    00256
    00258         // Double definition
    00259
    00263         typedef detail::tvec2<double>   dvec2;
    00264
    00268         typedef detail::tvec3<double>   dvec3;
    00269
    00273         typedef detail::tvec4<double>   dvec4;
    00274
    00278         typedef detail::tmat2x2<double> dmat2;
    00279
    00283         typedef detail::tmat3x3<double> dmat3;
    00284
    00288         typedef detail::tmat4x4<double> dmat4;
    00289
    00293         typedef detail::tmat2x2<double> dmat2x2;
    00294
    00298         typedef detail::tmat2x3<double> dmat2x3;
    00299
    00303         typedef detail::tmat2x4<double> dmat2x4;
    00304
    00308         typedef detail::tmat3x2<double> dmat3x2;
    00309
    00313         typedef detail::tmat3x3<double> dmat3x3;
    00314
    00318         typedef detail::tmat3x4<double> dmat3x4;
    00319
    00323         typedef detail::tmat4x2<double> dmat4x2;
    00324
    00328         typedef detail::tmat4x3<double> dmat4x3;
    00329
    00333         typedef detail::tmat4x4<double> dmat4x4;
    00334
    00335 }//namespace glm
    00336
    00337 #endif//glm_core_type