00001 00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) 00004 // Created : 2011-01-20 00005 // Updated : 2011-01-20 00006 // Licence : This source is under MIT License 00007 // File : glm/gtc/matrix_integer.hpp 00009 // Dependency: 00010 // - GLM core 00012 00013 #ifndef glm_gtc_matrix_integer 00014 #define glm_gtc_matrix_integer 00015 00016 // Dependency: 00017 #include "../glm.hpp" 00018 00019 #if(defined(GLM_MESSAGES) && !defined(glm_ext)) 00020 # pragma message("GLM: GLM_GTC_matrix_integer extension included") 00021 #endif 00022 00023 namespace glm{ 00024 namespace gtc{ 00025 namespace matrix_integer 00026 { 00029 00030 typedef detail::tmat2x2<highp_int> highp_imat2; 00031 typedef detail::tmat3x3<highp_int> highp_imat3; 00032 typedef detail::tmat4x4<highp_int> highp_imat4; 00033 00034 typedef detail::tmat2x2<highp_int> highp_imat2x2; 00035 typedef detail::tmat2x3<highp_int> highp_imat2x3; 00036 typedef detail::tmat2x4<highp_int> highp_imat2x4; 00037 typedef detail::tmat3x2<highp_int> highp_imat3x2; 00038 typedef detail::tmat3x3<highp_int> highp_imat3x3; 00039 typedef detail::tmat3x4<highp_int> highp_imat3x4; 00040 typedef detail::tmat4x2<highp_int> highp_imat4x2; 00041 typedef detail::tmat4x3<highp_int> highp_imat4x3; 00042 typedef detail::tmat4x4<highp_int> highp_imat4x4; 00043 00044 typedef detail::tmat2x2<mediump_int> mediump_imat2; 00045 typedef detail::tmat3x3<mediump_int> mediump_imat3; 00046 typedef detail::tmat4x4<mediump_int> mediump_imat4; 00047 00048 typedef detail::tmat2x2<mediump_int> mediump_imat2x2; 00049 typedef detail::tmat2x3<mediump_int> mediump_imat2x3; 00050 typedef detail::tmat2x4<mediump_int> mediump_imat2x4; 00051 typedef detail::tmat3x2<mediump_int> mediump_imat3x2; 00052 typedef detail::tmat3x3<mediump_int> mediump_imat3x3; 00053 typedef detail::tmat3x4<mediump_int> mediump_imat3x4; 00054 typedef detail::tmat4x2<mediump_int> mediump_imat4x2; 00055 typedef detail::tmat4x3<mediump_int> mediump_imat4x3; 00056 typedef detail::tmat4x4<mediump_int> mediump_imat4x4; 00057 00058 typedef detail::tmat2x2<lowp_int> lowp_imat2; 00059 typedef detail::tmat3x3<lowp_int> lowp_imat3; 00060 typedef detail::tmat4x4<lowp_int> lowp_imat4; 00061 00062 typedef detail::tmat2x2<lowp_int> lowp_imat2x2; 00063 typedef detail::tmat2x3<lowp_int> lowp_imat2x3; 00064 typedef detail::tmat2x4<lowp_int> lowp_imat2x4; 00065 typedef detail::tmat3x2<lowp_int> lowp_imat3x2; 00066 typedef detail::tmat3x3<lowp_int> lowp_imat3x3; 00067 typedef detail::tmat3x4<lowp_int> lowp_imat3x4; 00068 typedef detail::tmat4x2<lowp_int> lowp_imat4x2; 00069 typedef detail::tmat4x3<lowp_int> lowp_imat4x3; 00070 typedef detail::tmat4x4<lowp_int> lowp_imat4x4; 00071 00072 typedef detail::tmat2x2<highp_uint> highp_umat2; 00073 typedef detail::tmat3x3<highp_uint> highp_umat3; 00074 typedef detail::tmat4x4<highp_uint> highp_umat4; 00075 00076 typedef detail::tmat2x2<highp_uint> highp_umat2x2; 00077 typedef detail::tmat2x3<highp_uint> highp_umat2x3; 00078 typedef detail::tmat2x4<highp_uint> highp_umat2x4; 00079 typedef detail::tmat3x2<highp_uint> highp_umat3x2; 00080 typedef detail::tmat3x3<highp_uint> highp_umat3x3; 00081 typedef detail::tmat3x4<highp_uint> highp_umat3x4; 00082 typedef detail::tmat4x2<highp_uint> highp_umat4x2; 00083 typedef detail::tmat4x3<highp_uint> highp_umat4x3; 00084 typedef detail::tmat4x4<highp_uint> highp_umat4x4; 00085 00086 typedef detail::tmat2x2<mediump_uint> mediump_umat2; 00087 typedef detail::tmat3x3<mediump_uint> mediump_umat3; 00088 typedef detail::tmat4x4<mediump_uint> mediump_umat4; 00089 00090 typedef detail::tmat2x2<mediump_uint> mediump_umat2x2; 00091 typedef detail::tmat2x3<mediump_uint> mediump_umat2x3; 00092 typedef detail::tmat2x4<mediump_uint> mediump_umat2x4; 00093 typedef detail::tmat3x2<mediump_uint> mediump_umat3x2; 00094 typedef detail::tmat3x3<mediump_uint> mediump_umat3x3; 00095 typedef detail::tmat3x4<mediump_uint> mediump_umat3x4; 00096 typedef detail::tmat4x2<mediump_uint> mediump_umat4x2; 00097 typedef detail::tmat4x3<mediump_uint> mediump_umat4x3; 00098 typedef detail::tmat4x4<mediump_uint> mediump_umat4x4; 00099 00100 typedef detail::tmat2x2<lowp_uint> lowp_umat2; 00101 typedef detail::tmat3x3<lowp_uint> lowp_umat3; 00102 typedef detail::tmat4x4<lowp_uint> lowp_umat4; 00103 00104 typedef detail::tmat2x2<lowp_uint> lowp_umat2x2; 00105 typedef detail::tmat2x3<lowp_uint> lowp_umat2x3; 00106 typedef detail::tmat2x4<lowp_uint> lowp_umat2x4; 00107 typedef detail::tmat3x2<lowp_uint> lowp_umat3x2; 00108 typedef detail::tmat3x3<lowp_uint> lowp_umat3x3; 00109 typedef detail::tmat3x4<lowp_uint> lowp_umat3x4; 00110 typedef detail::tmat4x2<lowp_uint> lowp_umat4x2; 00111 typedef detail::tmat4x3<lowp_uint> lowp_umat4x3; 00112 typedef detail::tmat4x4<lowp_uint> lowp_umat4x4; 00113 00114 #if(defined(GLM_PRECISION_HIGHP_INT)) 00115 typedef highp_imat2 imat2; 00116 typedef highp_imat3 imat3; 00117 typedef highp_imat4 imat4; 00118 typedef highp_imat2x2 imat2x2; 00119 typedef highp_imat2x3 imat2x3; 00120 typedef highp_imat2x4 imat2x4; 00121 typedef highp_imat3x2 imat3x2; 00122 typedef highp_imat3x3 imat3x3; 00123 typedef highp_imat3x4 imat3x4; 00124 typedef highp_imat4x2 imat4x2; 00125 typedef highp_imat4x3 imat4x3; 00126 typedef highp_imat4x4 imat4x4; 00127 #elif(defined(GLM_PRECISION_LOWP_INT)) 00128 typedef lowp_imat2 imat2; 00129 typedef lowp_imat3 imat3; 00130 typedef lowp_imat4 imat4; 00131 typedef lowp_imat2x2 imat2x2; 00132 typedef lowp_imat2x3 imat2x3; 00133 typedef lowp_imat2x4 imat2x4; 00134 typedef lowp_imat3x2 imat3x2; 00135 typedef lowp_imat3x3 imat3x3; 00136 typedef lowp_imat3x4 imat3x4; 00137 typedef lowp_imat4x2 imat4x2; 00138 typedef lowp_imat4x3 imat4x3; 00139 typedef lowp_imat4x4 imat4x4; 00140 #else //if(defined(GLM_PRECISION_MEDIUMP_INT)) 00141 typedef mediump_imat2 imat2; 00142 typedef mediump_imat3 imat3; 00143 typedef mediump_imat4 imat4; 00144 typedef mediump_imat2x2 imat2x2; 00145 typedef mediump_imat2x3 imat2x3; 00146 typedef mediump_imat2x4 imat2x4; 00147 typedef mediump_imat3x2 imat3x2; 00148 typedef mediump_imat3x3 imat3x3; 00149 typedef mediump_imat3x4 imat3x4; 00150 typedef mediump_imat4x2 imat4x2; 00151 typedef mediump_imat4x3 imat4x3; 00152 typedef mediump_imat4x4 imat4x4; 00153 #endif//GLM_PRECISION 00154 00155 #if(defined(GLM_PRECISION_HIGHP_UINT)) 00156 typedef highp_umat2 umat2; 00157 typedef highp_umat3 umat3; 00158 typedef highp_umat4 umat4; 00159 typedef highp_umat2x2 umat2x2; 00160 typedef highp_umat2x3 umat2x3; 00161 typedef highp_umat2x4 umat2x4; 00162 typedef highp_umat3x2 umat3x2; 00163 typedef highp_umat3x3 umat3x3; 00164 typedef highp_umat3x4 umat3x4; 00165 typedef highp_umat4x2 umat4x2; 00166 typedef highp_umat4x3 umat4x3; 00167 typedef highp_umat4x4 umat4x4; 00168 #elif(defined(GLM_PRECISION_LOWP_UINT)) 00169 typedef lowp_umat2 umat2; 00170 typedef lowp_umat3 umat3; 00171 typedef lowp_umat4 umat4; 00172 typedef lowp_umat2x2 umat2x2; 00173 typedef lowp_umat2x3 umat2x3; 00174 typedef lowp_umat2x4 umat2x4; 00175 typedef lowp_umat3x2 umat3x2; 00176 typedef lowp_umat3x3 umat3x3; 00177 typedef lowp_umat3x4 umat3x4; 00178 typedef lowp_umat4x2 umat4x2; 00179 typedef lowp_umat4x3 umat4x3; 00180 typedef lowp_umat4x4 umat4x4; 00181 #else //if(defined(GLM_PRECISION_MEDIUMP_UINT)) 00182 typedef mediump_umat2 umat2; 00183 typedef mediump_umat3 umat3; 00184 typedef mediump_umat4 umat4; 00185 typedef mediump_umat2x2 umat2x2; 00186 typedef mediump_umat2x3 umat2x3; 00187 typedef mediump_umat2x4 umat2x4; 00188 typedef mediump_umat3x2 umat3x2; 00189 typedef mediump_umat3x3 umat3x3; 00190 typedef mediump_umat3x4 umat3x4; 00191 typedef mediump_umat4x2 umat4x2; 00192 typedef mediump_umat4x3 umat4x3; 00193 typedef mediump_umat4x4 umat4x4; 00194 #endif//GLM_PRECISION 00195 00197 00198 }//namespace matrix_integer 00199 }//namespace gtc 00200 }//namespace glm 00201 00202 namespace glm{using namespace gtc::matrix_integer;} 00203 00204 #endif//glm_gtc_matrix_integer