- 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 {
    00057
    00059         // Float definition
    00060
    00061 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
    00062         typedef highp_vec2          vec2;
    00063         typedef highp_vec3          vec3;
    00064         typedef highp_vec4          vec4;
    00065         typedef highp_mat2x2            mat2x2;
    00066         typedef highp_mat2x3            mat2x3;
    00067         typedef highp_mat2x4            mat2x4;
    00068         typedef highp_mat3x2            mat3x2;
    00069         typedef highp_mat3x3            mat3x3;
    00070         typedef highp_mat3x4            mat3x4;
    00071         typedef highp_mat4x2            mat4x2;
    00072         typedef highp_mat4x3            mat4x3;
    00073         typedef highp_mat4x4            mat4x4;
    00074 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
    00075         typedef mediump_vec2            vec2;
    00076         typedef mediump_vec3            vec3;
    00077         typedef mediump_vec4            vec4;
    00078         typedef mediump_mat2x2      mat2x2;
    00079         typedef mediump_mat2x3      mat2x3;
    00080         typedef mediump_mat2x4      mat2x4;
    00081         typedef mediump_mat3x2      mat3x2;
    00082         typedef mediump_mat3x3      mat3x3;
    00083         typedef mediump_mat3x4      mat3x4;
    00084         typedef mediump_mat4x2      mat4x2;
    00085         typedef mediump_mat4x3      mat4x3;
    00086         typedef mediump_mat4x4      mat4x4;
    00087 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
    00088         typedef lowp_vec2                       vec2;
    00089         typedef lowp_vec3                       vec3;
    00090         typedef lowp_vec4                       vec4;
    00091         typedef lowp_mat2x2                     mat2x2;
    00092         typedef lowp_mat2x3                     mat2x3;
    00093         typedef lowp_mat2x4                     mat2x4;
    00094         typedef lowp_mat3x2                     mat3x2;
    00095         typedef lowp_mat3x3                     mat3x3;
    00096         typedef lowp_mat3x4                     mat3x4;
    00097         typedef lowp_mat4x2                     mat4x2;
    00098         typedef lowp_mat4x3                     mat4x3;
    00099         typedef lowp_mat4x4                     mat4x4;
    00100 #else
    00101
    00102
    00103
    00104         typedef mediump_vec2            vec2;
    00105
    00109         typedef mediump_vec3            vec3;
    00110
    00114         typedef mediump_vec4            vec4;
    00115
    00119         typedef mediump_mat2x2          mat2x2;
    00120
    00124         typedef mediump_mat2x3          mat2x3;
    00125
    00129         typedef mediump_mat2x4          mat2x4;
    00130
    00134         typedef mediump_mat3x2          mat3x2;
    00135
    00139         typedef mediump_mat3x3          mat3x3;
    00140
    00144         typedef mediump_mat3x4          mat3x4;
    00145
    00149         typedef mediump_mat4x2          mat4x2;
    00150
    00154         typedef mediump_mat4x3          mat4x3;
    00155
    00159         typedef mediump_mat4x4          mat4x4;
    00160
    00161 #endif//GLM_PRECISION
    00162
    00166         typedef mat2x2                                                  mat2;
    00167
    00171         typedef mat3x3                                                  mat3;
    00172
    00176         typedef mat4x4                                                  mat4;
    00177
    00179         // Signed integer definition
    00180
    00181 #if(defined(GLM_PRECISION_HIGHP_INT))
    00182         typedef highp_ivec2                     ivec2;
    00183         typedef highp_ivec3                     ivec3;
    00184         typedef highp_ivec4                     ivec4;
    00185 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
    00186         typedef mediump_ivec2           ivec2;
    00187         typedef mediump_ivec3           ivec3;
    00188         typedef mediump_ivec4           ivec4;
    00189 #elif(defined(GLM_PRECISION_LOWP_INT))
    00190         typedef lowp_ivec2                      ivec2;
    00191         typedef lowp_ivec3                      ivec3;
    00192         typedef lowp_ivec4                      ivec4;
    00193 #else
    00194
    00195
    00196
    00197         typedef mediump_ivec2           ivec2;
    00198
    00202         typedef mediump_ivec3           ivec3;
    00203
    00207         typedef mediump_ivec4           ivec4;
    00208 #endif//GLM_PRECISION
    00209
    00211         // Unsigned integer definition
    00212
    00213 #if(defined(GLM_PRECISION_HIGHP_UINT))
    00214         typedef highp_uvec2                     uvec2;
    00215         typedef highp_uvec3                     uvec3;
    00216         typedef highp_uvec4                     uvec4;
    00217 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
    00218         typedef mediump_uvec2           uvec2;
    00219         typedef mediump_uvec3           uvec3;
    00220         typedef mediump_uvec4           uvec4;
    00221 #elif(defined(GLM_PRECISION_LOWP_UINT))
    00222         typedef lowp_uvec2                      uvec2;
    00223         typedef lowp_uvec3                      uvec3;
    00224         typedef lowp_uvec4                      uvec4;
    00225 #else
    00226
    00227
    00228
    00229         typedef mediump_uvec2           uvec2;
    00230
    00234         typedef mediump_uvec3           uvec3;
    00235
    00239         typedef mediump_uvec4           uvec4;
    00240 #endif//GLM_PRECISION
    00241
    00243         // Boolean definition
    00244
    00248         typedef detail::tvec2<bool>             bvec2;
    00249
    00253         typedef detail::tvec3<bool>             bvec3;
    00254
    00258         typedef detail::tvec4<bool>             bvec4;
    00259
    00261         // Double definition
    00262
    00266         typedef detail::tvec2<double>   dvec2;
    00267
    00271         typedef detail::tvec3<double>   dvec3;
    00272
    00276         typedef detail::tvec4<double>   dvec4;
    00277
    00281         typedef detail::tmat2x2<double> dmat2;
    00282
    00286         typedef detail::tmat3x3<double> dmat3;
    00287
    00291         typedef detail::tmat4x4<double> dmat4;
    00292
    00296         typedef detail::tmat2x2<double> dmat2x2;
    00297
    00301         typedef detail::tmat2x3<double> dmat2x3;
    00302
    00306         typedef detail::tmat2x4<double> dmat2x4;
    00307
    00311         typedef detail::tmat3x2<double> dmat3x2;
    00312
    00316         typedef detail::tmat3x3<double> dmat3x3;
    00317
    00321         typedef detail::tmat3x4<double> dmat3x4;
    00322
    00326         typedef detail::tmat4x2<double> dmat4x2;
    00327
    00331         typedef detail::tmat4x3<double> dmat4x3;
    00332
    00336         typedef detail::tmat4x4<double> dmat4x4;
    00337
    00339 }//namespace glm
    00340
    00341 #endif//glm_core_type