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