matrix_integer.hpp

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