GLM Version 0.9.0
|
00001 00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) 00004 // Created : 2008-08-22 00005 // Updated : 2010-02-08 00006 // Licence : This source is under MIT License 00007 // File : glm/core/type_float.hpp 00009 00010 #ifndef glm_core_type_float 00011 #define glm_core_type_float 00012 00013 #include "type_half.hpp" 00014 #include "../setup.hpp" 00015 00016 namespace glm 00017 { 00018 namespace detail 00019 { 00020 GLM_DETAIL_IS_FLOAT(detail::thalf); 00021 GLM_DETAIL_IS_FLOAT(float); 00022 GLM_DETAIL_IS_FLOAT(double); 00023 GLM_DETAIL_IS_FLOAT(long double); 00024 } 00025 //namespace detail 00026 00027 namespace core{ 00028 namespace type{ 00029 00030 namespace precision 00031 { 00032 #ifdef GLM_USE_HALF_SCALAR 00033 typedef detail::thalf lowp_float_t; 00034 #else//GLM_USE_HALF_SCALAR 00035 typedef float lowp_float_t; 00036 #endif//GLM_USE_HALF_SCALAR 00037 typedef float mediump_float_t; 00038 typedef double highp_float_t; 00039 00043 typedef lowp_float_t lowp_float; 00047 typedef mediump_float_t mediump_float; 00051 typedef highp_float_t highp_float; 00052 } 00053 //namespace precision 00054 00055 #ifndef GLM_PRECISION 00056 typedef precision::mediump_float float_t; 00057 #elif(GLM_PRECISION & GLM_PRECISION_HIGHP_FLOAT) 00058 typedef precision::highp_float float_t; 00059 #elif(GLM_PRECISION & GLM_PRECISION_MEDIUMP_FLOAT) 00060 typedef precision::mediump_float float_t; 00061 #elif(GLM_PRECISION & GLM_PRECISION_LOWP_FLOAT) 00062 typedef precision::lowp_float float_t; 00063 #else 00064 # pragma message("GLM message: Precisson undefined for float numbers."); 00065 typedef precision::mediump_float float_t; 00066 #endif//GLM_PRECISION 00067 00068 }//namespace type 00069 }//namespace core 00070 }//namespace glm 00071 00072 #endif//glm_core_type_float