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