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 #ifndef glm_core_swizzle
00030 #define glm_core_swizzle
00031
00032 namespace glm
00033 {
00034 enum comp
00035 {
00036 X = 0,
00037 R = 0,
00038 S = 0,
00039 Y = 1,
00040 G = 1,
00041 T = 1,
00042 Z = 2,
00043 B = 2,
00044 P = 2,
00045 W = 3,
00046 A = 3,
00047 Q = 3
00048 };
00049 }
00050
00051 #if(defined(GLM_SWIZZLE_XYZW) || defined(GLM_SWIZZLE))
00052
00053 #define xx swizzle(glm::X, glm::X)
00054 #define yx swizzle(glm::Y, glm::X)
00055 #define zx swizzle(glm::Z, glm::X)
00056 #define wx swizzle(glm::W, glm::X)
00057 #define xy swizzle(glm::X, glm::Y)
00058 #define yy swizzle(glm::Y, glm::Y)
00059 #define zy swizzle(glm::Z, glm::Y)
00060 #define wy swizzle(glm::W, glm::Y)
00061 #define xz swizzle(glm::X, glm::Z)
00062 #define yz swizzle(glm::Y, glm::Z)
00063 #define zz swizzle(glm::Z, glm::Z)
00064 #define wz swizzle(glm::W, glm::Z)
00065 #define xw swizzle(glm::X, glm::W)
00066 #define yw swizzle(glm::Y, glm::W)
00067 #define zw swizzle(glm::Z, glm::W)
00068 #define ww swizzle(glm::W, glm::W)
00069
00070 #endif
00071
00072 #if(defined(GLM_SWIZZLE_RGBA) || defined(GLM_SWIZZLE))
00073
00074 #define rr swizzle(glm::X, glm::X)
00075 #define gr swizzle(glm::Y, glm::X)
00076 #define br swizzle(glm::Z, glm::X)
00077 #define ar swizzle(glm::W, glm::X)
00078 #define rg swizzle(glm::X, glm::Y)
00079 #define gg swizzle(glm::Y, glm::Y)
00080 #define bg swizzle(glm::Z, glm::Y)
00081 #define ag swizzle(glm::W, glm::Y)
00082 #define rb swizzle(glm::X, glm::Z)
00083 #define gb swizzle(glm::Y, glm::Z)
00084 #define bb swizzle(glm::Z, glm::Z)
00085 #define ab swizzle(glm::W, glm::Z)
00086 #define ra swizzle(glm::X, glm::W)
00087 #define ga swizzle(glm::Y, glm::W)
00088 #define ba swizzle(glm::Z, glm::W)
00089 #define aa swizzle(glm::W, glm::W)
00090
00091 #endif
00092
00093 #if(defined(GLM_FORCE_SWIZZLE_STPQ) || defined(GLM_SWIZZLE))
00094
00095 #define ss swizzle(glm::X, glm::X)
00096 #define ts swizzle(glm::Y, glm::X)
00097 #define ps swizzle(glm::Z, glm::X)
00098 #define qs swizzle(glm::W, glm::X)
00099 #define st swizzle(glm::X, glm::Y)
00100 #define tt swizzle(glm::Y, glm::Y)
00101 #define pt swizzle(glm::Z, glm::Y)
00102 #define qt swizzle(glm::W, glm::Y)
00103 #define sp swizzle(glm::X, glm::Z)
00104 #define tp swizzle(glm::Y, glm::Z)
00105 #define pp swizzle(glm::Z, glm::Z)
00106 #define qp swizzle(glm::W, glm::Z)
00107 #define sq swizzle(glm::X, glm::W)
00108 #define tq swizzle(glm::Y, glm::W)
00109 #define pq swizzle(glm::Z, glm::W)
00110 #define qq swizzle(glm::W, glm::W)
00111
00112 #endif
00113
00114 #if(defined(GLM_SWIZZLE_XYZW) || defined(GLM_SWIZZLE))
00115
00116 #define xxx swizzle(glm::X, glm::X, glm::X)
00117 #define yxx swizzle(glm::Y, glm::X, glm::X)
00118 #define zxx swizzle(glm::Z, glm::X, glm::X)
00119 #define wxx swizzle(glm::W, glm::X, glm::X)
00120 #define xyx swizzle(glm::X, glm::Y, glm::X)
00121 #define yyx swizzle(glm::Y, glm::Y, glm::X)
00122 #define zyx swizzle(glm::Z, glm::Y, glm::X)
00123 #define wyx swizzle(glm::W, glm::Y, glm::X)
00124 #define xzx swizzle(glm::X, glm::Z, glm::X)
00125 #define yzx swizzle(glm::Y, glm::Z, glm::X)
00126 #define zzx swizzle(glm::Z, glm::Z, glm::X)
00127 #define wzx swizzle(glm::W, glm::Z, glm::X)
00128 #define xwx swizzle(glm::X, glm::W, glm::X)
00129 #define ywx swizzle(glm::Y, glm::W, glm::X)
00130 #define zwx swizzle(glm::Z, glm::W, glm::X)
00131 #define wwx swizzle(glm::W, glm::W, glm::X)
00132 #define xxy swizzle(glm::X, glm::X, glm::Y)
00133 #define yxy swizzle(glm::Y, glm::X, glm::Y)
00134 #define zxy swizzle(glm::Z, glm::X, glm::Y)
00135 #define wxy swizzle(glm::W, glm::X, glm::Y)
00136 #define xyy swizzle(glm::X, glm::Y, glm::Y)
00137 #define yyy swizzle(glm::Y, glm::Y, glm::Y)
00138 #define zyy swizzle(glm::Z, glm::Y, glm::Y)
00139 #define wyy swizzle(glm::W, glm::Y, glm::Y)
00140 #define xzy swizzle(glm::X, glm::Z, glm::Y)
00141 #define yzy swizzle(glm::Y, glm::Z, glm::Y)
00142 #define zzy swizzle(glm::Z, glm::Z, glm::Y)
00143 #define wzy swizzle(glm::W, glm::Z, glm::Y)
00144 #define xwy swizzle(glm::X, glm::W, glm::Y)
00145 #define ywy swizzle(glm::Y, glm::W, glm::Y)
00146 #define zwy swizzle(glm::Z, glm::W, glm::Y)
00147 #define wwy swizzle(glm::W, glm::W, glm::Y)
00148 #define xxz swizzle(glm::X, glm::X, glm::Z)
00149 #define yxz swizzle(glm::Y, glm::X, glm::Z)
00150 #define zxz swizzle(glm::Z, glm::X, glm::Z)
00151 #define wxz swizzle(glm::W, glm::X, glm::Z)
00152 #define xyz swizzle(glm::X, glm::Y, glm::Z)
00153 #define yyz swizzle(glm::Y, glm::Y, glm::Z)
00154 #define zyz swizzle(glm::Z, glm::Y, glm::Z)
00155 #define wyz swizzle(glm::W, glm::Y, glm::Z)
00156 #define xzz swizzle(glm::X, glm::Z, glm::Z)
00157 #define yzz swizzle(glm::Y, glm::Z, glm::Z)
00158 #define zzz swizzle(glm::Z, glm::Z, glm::Z)
00159 #define wzz swizzle(glm::W, glm::Z, glm::Z)
00160 #define xwz swizzle(glm::X, glm::W, glm::Z)
00161 #define ywz swizzle(glm::Y, glm::W, glm::Z)
00162 #define zwz swizzle(glm::Z, glm::W, glm::Z)
00163 #define wwz swizzle(glm::W, glm::W, glm::Z)
00164 #define xxw swizzle(glm::X, glm::X, glm::W)
00165 #define yxw swizzle(glm::Y, glm::X, glm::W)
00166 #define zxw swizzle(glm::Z, glm::X, glm::W)
00167 #define wxw swizzle(glm::W, glm::X, glm::W)
00168 #define xyw swizzle(glm::X, glm::Y, glm::W)
00169 #define yyw swizzle(glm::Y, glm::Y, glm::W)
00170 #define zyw swizzle(glm::Z, glm::Y, glm::W)
00171 #define wyw swizzle(glm::W, glm::Y, glm::W)
00172 #define xzw swizzle(glm::X, glm::Z, glm::W)
00173 #define yzw swizzle(glm::Y, glm::Z, glm::W)
00174 #define zzw swizzle(glm::Z, glm::Z, glm::W)
00175 #define wzw swizzle(glm::W, glm::Z, glm::W)
00176 #define xww swizzle(glm::X, glm::W, glm::W)
00177 #define yww swizzle(glm::Y, glm::W, glm::W)
00178 #define zww swizzle(glm::Z, glm::W, glm::W)
00179 #define www swizzle(glm::W, glm::W, glm::W)
00180
00181 #endif
00182
00183 #if(defined(GLM_SWIZZLE_RGBA) || defined(GLM_SWIZZLE))
00184
00185 #define rrr swizzle(glm::X, glm::X, glm::X)
00186 #define grr swizzle(glm::Y, glm::X, glm::X)
00187 #define brr swizzle(glm::Z, glm::X, glm::X)
00188 #define arr swizzle(glm::W, glm::X, glm::X)
00189 #define rgr swizzle(glm::X, glm::Y, glm::X)
00190 #define ggr swizzle(glm::Y, glm::Y, glm::X)
00191 #define bgr swizzle(glm::Z, glm::Y, glm::X)
00192 #define agr swizzle(glm::W, glm::Y, glm::X)
00193 #define rbr swizzle(glm::X, glm::Z, glm::X)
00194 #define gbr swizzle(glm::Y, glm::Z, glm::X)
00195 #define bbr swizzle(glm::Z, glm::Z, glm::X)
00196 #define abr swizzle(glm::W, glm::Z, glm::X)
00197 #define rar swizzle(glm::X, glm::W, glm::X)
00198 #define gar swizzle(glm::Y, glm::W, glm::X)
00199 #define bar swizzle(glm::Z, glm::W, glm::X)
00200 #define aar swizzle(glm::W, glm::W, glm::X)
00201 #define rrg swizzle(glm::X, glm::X, glm::Y)
00202 #define grg swizzle(glm::Y, glm::X, glm::Y)
00203 #define brg swizzle(glm::Z, glm::X, glm::Y)
00204 #define arg swizzle(glm::W, glm::X, glm::Y)
00205 #define rgg swizzle(glm::X, glm::Y, glm::Y)
00206 #define ggg swizzle(glm::Y, glm::Y, glm::Y)
00207 #define bgg swizzle(glm::Z, glm::Y, glm::Y)
00208 #define agg swizzle(glm::W, glm::Y, glm::Y)
00209 #define rbg swizzle(glm::X, glm::Z, glm::Y)
00210 #define gbg swizzle(glm::Y, glm::Z, glm::Y)
00211 #define bbg swizzle(glm::Z, glm::Z, glm::Y)
00212 #define abg swizzle(glm::W, glm::Z, glm::Y)
00213 #define rag swizzle(glm::X, glm::W, glm::Y)
00214 #define gag swizzle(glm::Y, glm::W, glm::Y)
00215 #define bag swizzle(glm::Z, glm::W, glm::Y)
00216 #define aag swizzle(glm::W, glm::W, glm::Y)
00217 #define rrb swizzle(glm::X, glm::X, glm::Z)
00218 #define grb swizzle(glm::Y, glm::X, glm::Z)
00219 #define brb swizzle(glm::Z, glm::X, glm::Z)
00220 #define arb swizzle(glm::W, glm::X, glm::Z)
00221 #define rgb swizzle(glm::X, glm::Y, glm::Z)
00222 #define ggb swizzle(glm::Y, glm::Y, glm::Z)
00223 #define bgb swizzle(glm::Z, glm::Y, glm::Z)
00224 #define agb swizzle(glm::W, glm::Y, glm::Z)
00225 #define rbb swizzle(glm::X, glm::Z, glm::Z)
00226 #define gbb swizzle(glm::Y, glm::Z, glm::Z)
00227 #define bbb swizzle(glm::Z, glm::Z, glm::Z)
00228 #define abb swizzle(glm::W, glm::Z, glm::Z)
00229 #define rab swizzle(glm::X, glm::W, glm::Z)
00230 #define gab swizzle(glm::Y, glm::W, glm::Z)
00231 #define bab swizzle(glm::Z, glm::W, glm::Z)
00232 #define aab swizzle(glm::W, glm::W, glm::Z)
00233 #define rra swizzle(glm::X, glm::X, glm::W)
00234 #define gra swizzle(glm::Y, glm::X, glm::W)
00235 #define bra swizzle(glm::Z, glm::X, glm::W)
00236 #define ara swizzle(glm::W, glm::X, glm::W)
00237 #define rga swizzle(glm::X, glm::Y, glm::W)
00238 #define gga swizzle(glm::Y, glm::Y, glm::W)
00239 #define bga swizzle(glm::Z, glm::Y, glm::W)
00240 #define aga swizzle(glm::W, glm::Y, glm::W)
00241 #define rba swizzle(glm::X, glm::Z, glm::W)
00242 #define gba swizzle(glm::Y, glm::Z, glm::W)
00243 #define bba swizzle(glm::Z, glm::Z, glm::W)
00244 #define aba swizzle(glm::W, glm::Z, glm::W)
00245 #define raa swizzle(glm::X, glm::W, glm::W)
00246 #define gaa swizzle(glm::Y, glm::W, glm::W)
00247 #define baa swizzle(glm::Z, glm::W, glm::W)
00248 #define aaa swizzle(glm::W, glm::W, glm::W)
00249
00250 #endif
00251
00252 #if(defined(GLM_FORCE_SWIZZLE_STPQ) || defined(GLM_SWIZZLE))
00253
00254 #define sss swizzle(glm::X, glm::X, glm::X)
00255 #define tss swizzle(glm::Y, glm::X, glm::X)
00256 #define pss swizzle(glm::Z, glm::X, glm::X)
00257 #define qss swizzle(glm::W, glm::X, glm::X)
00258 #define sts swizzle(glm::X, glm::Y, glm::X)
00259 #define tts swizzle(glm::Y, glm::Y, glm::X)
00260 #define pts swizzle(glm::Z, glm::Y, glm::X)
00261 #define qts swizzle(glm::W, glm::Y, glm::X)
00262 #define sps swizzle(glm::X, glm::Z, glm::X)
00263 #define tps swizzle(glm::Y, glm::Z, glm::X)
00264 #define pps swizzle(glm::Z, glm::Z, glm::X)
00265 #define qps swizzle(glm::W, glm::Z, glm::X)
00266 #define sqs swizzle(glm::X, glm::W, glm::X)
00267 #define tqs swizzle(glm::Y, glm::W, glm::X)
00268 #define pqs swizzle(glm::Z, glm::W, glm::X)
00269 #define qqs swizzle(glm::W, glm::W, glm::X)
00270 #define sst swizzle(glm::X, glm::X, glm::Y)
00271 #define tst swizzle(glm::Y, glm::X, glm::Y)
00272 #define pst swizzle(glm::Z, glm::X, glm::Y)
00273 #define qst swizzle(glm::W, glm::X, glm::Y)
00274 #define stt swizzle(glm::X, glm::Y, glm::Y)
00275 #define ttt swizzle(glm::Y, glm::Y, glm::Y)
00276 #define ptt swizzle(glm::Z, glm::Y, glm::Y)
00277 #define qtt swizzle(glm::W, glm::Y, glm::Y)
00278 #define spt swizzle(glm::X, glm::Z, glm::Y)
00279 #define tpt swizzle(glm::Y, glm::Z, glm::Y)
00280 #define ppt swizzle(glm::Z, glm::Z, glm::Y)
00281 #define qpt swizzle(glm::W, glm::Z, glm::Y)
00282 #define sqt swizzle(glm::X, glm::W, glm::Y)
00283 #define tqt swizzle(glm::Y, glm::W, glm::Y)
00284 #define pqt swizzle(glm::Z, glm::W, glm::Y)
00285 #define qqt swizzle(glm::W, glm::W, glm::Y)
00286 #define ssp swizzle(glm::X, glm::X, glm::Z)
00287 #define tsp swizzle(glm::Y, glm::X, glm::Z)
00288 #define psp swizzle(glm::Z, glm::X, glm::Z)
00289 #define qsp swizzle(glm::W, glm::X, glm::Z)
00290 #define stp swizzle(glm::X, glm::Y, glm::Z)
00291 #define ttp swizzle(glm::Y, glm::Y, glm::Z)
00292 #define ptp swizzle(glm::Z, glm::Y, glm::Z)
00293 #define qtp swizzle(glm::W, glm::Y, glm::Z)
00294 #define spp swizzle(glm::X, glm::Z, glm::Z)
00295 #define tpp swizzle(glm::Y, glm::Z, glm::Z)
00296 #define ppp swizzle(glm::Z, glm::Z, glm::Z)
00297 #define qpp swizzle(glm::W, glm::Z, glm::Z)
00298 #define sqp swizzle(glm::X, glm::W, glm::Z)
00299 #define tqp swizzle(glm::Y, glm::W, glm::Z)
00300 #define pqp swizzle(glm::Z, glm::W, glm::Z)
00301 #define qqp swizzle(glm::W, glm::W, glm::Z)
00302 #define ssq swizzle(glm::X, glm::X, glm::W)
00303 #define tsq swizzle(glm::Y, glm::X, glm::W)
00304 #define psq swizzle(glm::Z, glm::X, glm::W)
00305 #define qsq swizzle(glm::W, glm::X, glm::W)
00306 #define stq swizzle(glm::X, glm::Y, glm::W)
00307 #define ttq swizzle(glm::Y, glm::Y, glm::W)
00308 #define ptq swizzle(glm::Z, glm::Y, glm::W)
00309 #define qtq swizzle(glm::W, glm::Y, glm::W)
00310 #define spq swizzle(glm::X, glm::Z, glm::W)
00311 #define tpq swizzle(glm::Y, glm::Z, glm::W)
00312 #define ppq swizzle(glm::Z, glm::Z, glm::W)
00313 #define qpq swizzle(glm::W, glm::Z, glm::W)
00314 #define sqq swizzle(glm::X, glm::W, glm::W)
00315 #define tqq swizzle(glm::Y, glm::W, glm::W)
00316 #define pqq swizzle(glm::Z, glm::W, glm::W)
00317 #define qqq swizzle(glm::W, glm::W, glm::W)
00318
00319 #endif
00320
00321 #if(defined(GLM_SWIZZLE_XYZW) || defined(GLM_SWIZZLE))
00322
00323 #define xxxx swizzle(glm::X, glm::X, glm::X, glm::X)
00324 #define yxxx swizzle(glm::Y, glm::X, glm::X, glm::X)
00325 #define zxxx swizzle(glm::Z, glm::X, glm::X, glm::X)
00326 #define wxxx swizzle(glm::W, glm::X, glm::X, glm::X)
00327 #define xyxx swizzle(glm::X, glm::Y, glm::X, glm::X)
00328 #define yyxx swizzle(glm::Y, glm::Y, glm::X, glm::X)
00329 #define zyxx swizzle(glm::Z, glm::Y, glm::X, glm::X)
00330 #define wyxx swizzle(glm::W, glm::Y, glm::X, glm::X)
00331 #define xzxx swizzle(glm::X, glm::Z, glm::X, glm::X)
00332 #define yzxx swizzle(glm::Y, glm::Z, glm::X, glm::X)
00333 #define zzxx swizzle(glm::Z, glm::Z, glm::X, glm::X)
00334 #define wzxx swizzle(glm::W, glm::Z, glm::X, glm::X)
00335 #define xwxx swizzle(glm::X, glm::W, glm::X, glm::X)
00336 #define ywxx swizzle(glm::Y, glm::W, glm::X, glm::X)
00337 #define zwxx swizzle(glm::Z, glm::W, glm::X, glm::X)
00338 #define wwxx swizzle(glm::W, glm::W, glm::X, glm::X)
00339 #define xxyx swizzle(glm::X, glm::X, glm::Y, glm::X)
00340 #define yxyx swizzle(glm::Y, glm::X, glm::Y, glm::X)
00341 #define zxyx swizzle(glm::Z, glm::X, glm::Y, glm::X)
00342 #define wxyx swizzle(glm::W, glm::X, glm::Y, glm::X)
00343 #define xyyx swizzle(glm::X, glm::Y, glm::Y, glm::X)
00344 #define yyyx swizzle(glm::Y, glm::Y, glm::Y, glm::X)
00345 #define zyyx swizzle(glm::Z, glm::Y, glm::Y, glm::X)
00346 #define wyyx swizzle(glm::W, glm::Y, glm::Y, glm::X)
00347 #define xzyx swizzle(glm::X, glm::Z, glm::Y, glm::X)
00348 #define yzyx swizzle(glm::Y, glm::Z, glm::Y, glm::X)
00349 #define zzyx swizzle(glm::Z, glm::Z, glm::Y, glm::X)
00350 #define wzyx swizzle(glm::W, glm::Z, glm::Y, glm::X)
00351 #define xwyx swizzle(glm::X, glm::W, glm::Y, glm::X)
00352 #define ywyx swizzle(glm::Y, glm::W, glm::Y, glm::X)
00353 #define zwyx swizzle(glm::Z, glm::W, glm::Y, glm::X)
00354 #define wwyx swizzle(glm::W, glm::W, glm::Y, glm::X)
00355 #define xxzx swizzle(glm::X, glm::X, glm::Z, glm::X)
00356 #define yxzx swizzle(glm::Y, glm::X, glm::Z, glm::X)
00357 #define zxzx swizzle(glm::Z, glm::X, glm::Z, glm::X)
00358 #define wxzx swizzle(glm::W, glm::X, glm::Z, glm::X)
00359 #define xyzx swizzle(glm::X, glm::Y, glm::Z, glm::X)
00360 #define yyzx swizzle(glm::Y, glm::Y, glm::Z, glm::X)
00361 #define zyzx swizzle(glm::Z, glm::Y, glm::Z, glm::X)
00362 #define wyzx swizzle(glm::W, glm::Y, glm::Z, glm::X)
00363 #define xzzx swizzle(glm::X, glm::Z, glm::Z, glm::X)
00364 #define yzzx swizzle(glm::Y, glm::Z, glm::Z, glm::X)
00365 #define zzzx swizzle(glm::Z, glm::Z, glm::Z, glm::X)
00366 #define wzzx swizzle(glm::W, glm::Z, glm::Z, glm::X)
00367 #define xwzx swizzle(glm::X, glm::W, glm::Z, glm::X)
00368 #define ywzx swizzle(glm::Y, glm::W, glm::Z, glm::X)
00369 #define zwzx swizzle(glm::Z, glm::W, glm::Z, glm::X)
00370 #define wwzx swizzle(glm::W, glm::W, glm::Z, glm::X)
00371 #define xxwx swizzle(glm::X, glm::X, glm::W, glm::X)
00372 #define yxwx swizzle(glm::Y, glm::X, glm::W, glm::X)
00373 #define zxwx swizzle(glm::Z, glm::X, glm::W, glm::X)
00374 #define wxwx swizzle(glm::W, glm::X, glm::W, glm::X)
00375 #define xywx swizzle(glm::X, glm::Y, glm::W, glm::X)
00376 #define yywx swizzle(glm::Y, glm::Y, glm::W, glm::X)
00377 #define zywx swizzle(glm::Z, glm::Y, glm::W, glm::X)
00378 #define wywx swizzle(glm::W, glm::Y, glm::W, glm::X)
00379 #define xzwx swizzle(glm::X, glm::Z, glm::W, glm::X)
00380 #define yzwx swizzle(glm::Y, glm::Z, glm::W, glm::X)
00381 #define zzwx swizzle(glm::Z, glm::Z, glm::W, glm::X)
00382 #define wzwx swizzle(glm::W, glm::Z, glm::W, glm::X)
00383 #define xwwx swizzle(glm::X, glm::W, glm::W, glm::X)
00384 #define ywwx swizzle(glm::Y, glm::W, glm::W, glm::X)
00385 #define zwwx swizzle(glm::Z, glm::W, glm::W, glm::X)
00386 #define wwwx swizzle(glm::W, glm::W, glm::W, glm::X)
00387 #define xxxy swizzle(glm::X, glm::X, glm::X, glm::Y)
00388 #define yxxy swizzle(glm::Y, glm::X, glm::X, glm::Y)
00389 #define zxxy swizzle(glm::Z, glm::X, glm::X, glm::Y)
00390 #define wxxy swizzle(glm::W, glm::X, glm::X, glm::Y)
00391 #define xyxy swizzle(glm::X, glm::Y, glm::X, glm::Y)
00392 #define yyxy swizzle(glm::Y, glm::Y, glm::X, glm::Y)
00393 #define zyxy swizzle(glm::Z, glm::Y, glm::X, glm::Y)
00394 #define wyxy swizzle(glm::W, glm::Y, glm::X, glm::Y)
00395 #define xzxy swizzle(glm::X, glm::Z, glm::X, glm::Y)
00396 #define yzxy swizzle(glm::Y, glm::Z, glm::X, glm::Y)
00397 #define zzxy swizzle(glm::Z, glm::Z, glm::X, glm::Y)
00398 #define wzxy swizzle(glm::W, glm::Z, glm::X, glm::Y)
00399 #define xwxy swizzle(glm::X, glm::W, glm::X, glm::Y)
00400 #define ywxy swizzle(glm::Y, glm::W, glm::X, glm::Y)
00401 #define zwxy swizzle(glm::Z, glm::W, glm::X, glm::Y)
00402 #define wwxy swizzle(glm::W, glm::W, glm::X, glm::Y)
00403 #define xxyy swizzle(glm::X, glm::X, glm::Y, glm::Y)
00404 #define yxyy swizzle(glm::Y, glm::X, glm::Y, glm::Y)
00405 #define zxyy swizzle(glm::Z, glm::X, glm::Y, glm::Y)
00406 #define wxyy swizzle(glm::W, glm::X, glm::Y, glm::Y)
00407 #define xyyy swizzle(glm::X, glm::Y, glm::Y, glm::Y)
00408 #define yyyy swizzle(glm::Y, glm::Y, glm::Y, glm::Y)
00409 #define zyyy swizzle(glm::Z, glm::Y, glm::Y, glm::Y)
00410 #define wyyy swizzle(glm::W, glm::Y, glm::Y, glm::Y)
00411 #define xzyy swizzle(glm::X, glm::Z, glm::Y, glm::Y)
00412 #define yzyy swizzle(glm::Y, glm::Z, glm::Y, glm::Y)
00413 #define zzyy swizzle(glm::Z, glm::Z, glm::Y, glm::Y)
00414 #define wzyy swizzle(glm::W, glm::Z, glm::Y, glm::Y)
00415 #define xwyy swizzle(glm::X, glm::W, glm::Y, glm::Y)
00416 #define ywyy swizzle(glm::Y, glm::W, glm::Y, glm::Y)
00417 #define zwyy swizzle(glm::Z, glm::W, glm::Y, glm::Y)
00418 #define wwyy swizzle(glm::W, glm::W, glm::Y, glm::Y)
00419 #define xxzy swizzle(glm::X, glm::X, glm::Z, glm::Y)
00420 #define yxzy swizzle(glm::Y, glm::X, glm::Z, glm::Y)
00421 #define zxzy swizzle(glm::Z, glm::X, glm::Z, glm::Y)
00422 #define wxzy swizzle(glm::W, glm::X, glm::Z, glm::Y)
00423 #define xyzy swizzle(glm::X, glm::Y, glm::Z, glm::Y)
00424 #define yyzy swizzle(glm::Y, glm::Y, glm::Z, glm::Y)
00425 #define zyzy swizzle(glm::Z, glm::Y, glm::Z, glm::Y)
00426 #define wyzy swizzle(glm::W, glm::Y, glm::Z, glm::Y)
00427 #define xzzy swizzle(glm::X, glm::Z, glm::Z, glm::Y)
00428 #define yzzy swizzle(glm::Y, glm::Z, glm::Z, glm::Y)
00429 #define zzzy swizzle(glm::Z, glm::Z, glm::Z, glm::Y)
00430 #define wzzy swizzle(glm::W, glm::Z, glm::Z, glm::Y)
00431 #define xwzy swizzle(glm::X, glm::W, glm::Z, glm::Y)
00432 #define ywzy swizzle(glm::Y, glm::W, glm::Z, glm::Y)
00433 #define zwzy swizzle(glm::Z, glm::W, glm::Z, glm::Y)
00434 #define wwzy swizzle(glm::W, glm::W, glm::Z, glm::Y)
00435 #define xxwy swizzle(glm::X, glm::X, glm::W, glm::Y)
00436 #define yxwy swizzle(glm::Y, glm::X, glm::W, glm::Y)
00437 #define zxwy swizzle(glm::Z, glm::X, glm::W, glm::Y)
00438 #define wxwy swizzle(glm::W, glm::X, glm::W, glm::Y)
00439 #define xywy swizzle(glm::X, glm::Y, glm::W, glm::Y)
00440 #define yywy swizzle(glm::Y, glm::Y, glm::W, glm::Y)
00441 #define zywy swizzle(glm::Z, glm::Y, glm::W, glm::Y)
00442 #define wywy swizzle(glm::W, glm::Y, glm::W, glm::Y)
00443 #define xzwy swizzle(glm::X, glm::Z, glm::W, glm::Y)
00444 #define yzwy swizzle(glm::Y, glm::Z, glm::W, glm::Y)
00445 #define zzwy swizzle(glm::Z, glm::Z, glm::W, glm::Y)
00446 #define wzwy swizzle(glm::W, glm::Z, glm::W, glm::Y)
00447 #define xwwy swizzle(glm::X, glm::W, glm::W, glm::Y)
00448 #define ywwy swizzle(glm::Y, glm::W, glm::W, glm::Y)
00449 #define zwwy swizzle(glm::Z, glm::W, glm::W, glm::Y)
00450 #define wwwy swizzle(glm::W, glm::W, glm::W, glm::Y)
00451 #define xxxz swizzle(glm::X, glm::X, glm::X, glm::Z)
00452 #define yxxz swizzle(glm::Y, glm::X, glm::X, glm::Z)
00453 #define zxxz swizzle(glm::Z, glm::X, glm::X, glm::Z)
00454 #define wxxz swizzle(glm::W, glm::X, glm::X, glm::Z)
00455 #define xyxz swizzle(glm::X, glm::Y, glm::X, glm::Z)
00456 #define yyxz swizzle(glm::Y, glm::Y, glm::X, glm::Z)
00457 #define zyxz swizzle(glm::Z, glm::Y, glm::X, glm::Z)
00458 #define wyxz swizzle(glm::W, glm::Y, glm::X, glm::Z)
00459 #define xzxz swizzle(glm::X, glm::Z, glm::X, glm::Z)
00460 #define yzxz swizzle(glm::Y, glm::Z, glm::X, glm::Z)
00461 #define zzxz swizzle(glm::Z, glm::Z, glm::X, glm::Z)
00462 #define wzxz swizzle(glm::W, glm::Z, glm::X, glm::Z)
00463 #define xwxz swizzle(glm::X, glm::W, glm::X, glm::Z)
00464 #define ywxz swizzle(glm::Y, glm::W, glm::X, glm::Z)
00465 #define zwxz swizzle(glm::Z, glm::W, glm::X, glm::Z)
00466 #define wwxz swizzle(glm::W, glm::W, glm::X, glm::Z)
00467 #define xxyz swizzle(glm::X, glm::X, glm::Y, glm::Z)
00468 #define yxyz swizzle(glm::Y, glm::X, glm::Y, glm::Z)
00469 #define zxyz swizzle(glm::Z, glm::X, glm::Y, glm::Z)
00470 #define wxyz swizzle(glm::W, glm::X, glm::Y, glm::Z)
00471 #define xyyz swizzle(glm::X, glm::Y, glm::Y, glm::Z)
00472 #define yyyz swizzle(glm::Y, glm::Y, glm::Y, glm::Z)
00473 #define zyyz swizzle(glm::Z, glm::Y, glm::Y, glm::Z)
00474 #define wyyz swizzle(glm::W, glm::Y, glm::Y, glm::Z)
00475 #define xzyz swizzle(glm::X, glm::Z, glm::Y, glm::Z)
00476 #define yzyz swizzle(glm::Y, glm::Z, glm::Y, glm::Z)
00477 #define zzyz swizzle(glm::Z, glm::Z, glm::Y, glm::Z)
00478 #define wzyz swizzle(glm::W, glm::Z, glm::Y, glm::Z)
00479 #define xwyz swizzle(glm::X, glm::W, glm::Y, glm::Z)
00480 #define ywyz swizzle(glm::Y, glm::W, glm::Y, glm::Z)
00481 #define zwyz swizzle(glm::Z, glm::W, glm::Y, glm::Z)
00482 #define wwyz swizzle(glm::W, glm::W, glm::Y, glm::Z)
00483 #define xxzz swizzle(glm::X, glm::X, glm::Z, glm::Z)
00484 #define yxzz swizzle(glm::Y, glm::X, glm::Z, glm::Z)
00485 #define zxzz swizzle(glm::Z, glm::X, glm::Z, glm::Z)
00486 #define wxzz swizzle(glm::W, glm::X, glm::Z, glm::Z)
00487 #define xyzz swizzle(glm::X, glm::Y, glm::Z, glm::Z)
00488 #define yyzz swizzle(glm::Y, glm::Y, glm::Z, glm::Z)
00489 #define zyzz swizzle(glm::Z, glm::Y, glm::Z, glm::Z)
00490 #define wyzz swizzle(glm::W, glm::Y, glm::Z, glm::Z)
00491 #define xzzz swizzle(glm::X, glm::Z, glm::Z, glm::Z)
00492 #define yzzz swizzle(glm::Y, glm::Z, glm::Z, glm::Z)
00493 #define zzzz swizzle(glm::Z, glm::Z, glm::Z, glm::Z)
00494 #define wzzz swizzle(glm::W, glm::Z, glm::Z, glm::Z)
00495 #define xwzz swizzle(glm::X, glm::W, glm::Z, glm::Z)
00496 #define ywzz swizzle(glm::Y, glm::W, glm::Z, glm::Z)
00497 #define zwzz swizzle(glm::Z, glm::W, glm::Z, glm::Z)
00498 #define wwzz swizzle(glm::W, glm::W, glm::Z, glm::Z)
00499 #define xxwz swizzle(glm::X, glm::X, glm::W, glm::Z)
00500 #define yxwz swizzle(glm::Y, glm::X, glm::W, glm::Z)
00501 #define zxwz swizzle(glm::Z, glm::X, glm::W, glm::Z)
00502 #define wxwz swizzle(glm::W, glm::X, glm::W, glm::Z)
00503 #define xywz swizzle(glm::X, glm::Y, glm::W, glm::Z)
00504 #define yywz swizzle(glm::Y, glm::Y, glm::W, glm::Z)
00505 #define zywz swizzle(glm::Z, glm::Y, glm::W, glm::Z)
00506 #define wywz swizzle(glm::W, glm::Y, glm::W, glm::Z)
00507 #define xzwz swizzle(glm::X, glm::Z, glm::W, glm::Z)
00508 #define yzwz swizzle(glm::Y, glm::Z, glm::W, glm::Z)
00509 #define zzwz swizzle(glm::Z, glm::Z, glm::W, glm::Z)
00510 #define wzwz swizzle(glm::W, glm::Z, glm::W, glm::Z)
00511 #define xwwz swizzle(glm::X, glm::W, glm::W, glm::Z)
00512 #define ywwz swizzle(glm::Y, glm::W, glm::W, glm::Z)
00513 #define zwwz swizzle(glm::Z, glm::W, glm::W, glm::Z)
00514 #define wwwz swizzle(glm::W, glm::W, glm::W, glm::Z)
00515 #define xxxw swizzle(glm::X, glm::X, glm::X, glm::W)
00516 #define yxxw swizzle(glm::Y, glm::X, glm::X, glm::W)
00517 #define zxxw swizzle(glm::Z, glm::X, glm::X, glm::W)
00518 #define wxxw swizzle(glm::W, glm::X, glm::X, glm::W)
00519 #define xyxw swizzle(glm::X, glm::Y, glm::X, glm::W)
00520 #define yyxw swizzle(glm::Y, glm::Y, glm::X, glm::W)
00521 #define zyxw swizzle(glm::Z, glm::Y, glm::X, glm::W)
00522 #define wyxw swizzle(glm::W, glm::Y, glm::X, glm::W)
00523 #define xzxw swizzle(glm::X, glm::Z, glm::X, glm::W)
00524 #define yzxw swizzle(glm::Y, glm::Z, glm::X, glm::W)
00525 #define zzxw swizzle(glm::Z, glm::Z, glm::X, glm::W)
00526 #define wzxw swizzle(glm::W, glm::Z, glm::X, glm::W)
00527 #define xwxw swizzle(glm::X, glm::W, glm::X, glm::W)
00528 #define ywxw swizzle(glm::Y, glm::W, glm::X, glm::W)
00529 #define zwxw swizzle(glm::Z, glm::W, glm::X, glm::W)
00530 #define wwxw swizzle(glm::W, glm::W, glm::X, glm::W)
00531 #define xxyw swizzle(glm::X, glm::X, glm::Y, glm::W)
00532 #define yxyw swizzle(glm::Y, glm::X, glm::Y, glm::W)
00533 #define zxyw swizzle(glm::Z, glm::X, glm::Y, glm::W)
00534 #define wxyw swizzle(glm::W, glm::X, glm::Y, glm::W)
00535 #define xyyw swizzle(glm::X, glm::Y, glm::Y, glm::W)
00536 #define yyyw swizzle(glm::Y, glm::Y, glm::Y, glm::W)
00537 #define zyyw swizzle(glm::Z, glm::Y, glm::Y, glm::W)
00538 #define wyyw swizzle(glm::W, glm::Y, glm::Y, glm::W)
00539 #define xzyw swizzle(glm::X, glm::Z, glm::Y, glm::W)
00540 #define yzyw swizzle(glm::Y, glm::Z, glm::Y, glm::W)
00541 #define zzyw swizzle(glm::Z, glm::Z, glm::Y, glm::W)
00542 #define wzyw swizzle(glm::W, glm::Z, glm::Y, glm::W)
00543 #define xwyw swizzle(glm::X, glm::W, glm::Y, glm::W)
00544 #define ywyw swizzle(glm::Y, glm::W, glm::Y, glm::W)
00545 #define zwyw swizzle(glm::Z, glm::W, glm::Y, glm::W)
00546 #define wwyw swizzle(glm::W, glm::W, glm::Y, glm::W)
00547 #define xxzw swizzle(glm::X, glm::X, glm::Z, glm::W)
00548 #define yxzw swizzle(glm::Y, glm::X, glm::Z, glm::W)
00549 #define zxzw swizzle(glm::Z, glm::X, glm::Z, glm::W)
00550 #define wxzw swizzle(glm::W, glm::X, glm::Z, glm::W)
00551 #define xyzw swizzle(glm::X, glm::Y, glm::Z, glm::W)
00552 #define yyzw swizzle(glm::Y, glm::Y, glm::Z, glm::W)
00553 #define zyzw swizzle(glm::Z, glm::Y, glm::Z, glm::W)
00554 #define wyzw swizzle(glm::W, glm::Y, glm::Z, glm::W)
00555 #define xzzw swizzle(glm::X, glm::Z, glm::Z, glm::W)
00556 #define yzzw swizzle(glm::Y, glm::Z, glm::Z, glm::W)
00557 #define zzzw swizzle(glm::Z, glm::Z, glm::Z, glm::W)
00558 #define wzzw swizzle(glm::W, glm::Z, glm::Z, glm::W)
00559 #define xwzw swizzle(glm::X, glm::W, glm::Z, glm::W)
00560 #define ywzw swizzle(glm::Y, glm::W, glm::Z, glm::W)
00561 #define zwzw swizzle(glm::Z, glm::W, glm::Z, glm::W)
00562 #define wwzw swizzle(glm::W, glm::W, glm::Z, glm::W)
00563 #define xxww swizzle(glm::X, glm::X, glm::W, glm::W)
00564 #define yxww swizzle(glm::Y, glm::X, glm::W, glm::W)
00565 #define zxww swizzle(glm::Z, glm::X, glm::W, glm::W)
00566 #define wxww swizzle(glm::W, glm::X, glm::W, glm::W)
00567 #define xyww swizzle(glm::X, glm::Y, glm::W, glm::W)
00568 #define yyww swizzle(glm::Y, glm::Y, glm::W, glm::W)
00569 #define zyww swizzle(glm::Z, glm::Y, glm::W, glm::W)
00570 #define wyww swizzle(glm::W, glm::Y, glm::W, glm::W)
00571 #define xzww swizzle(glm::X, glm::Z, glm::W, glm::W)
00572 #define yzww swizzle(glm::Y, glm::Z, glm::W, glm::W)
00573 #define zzww swizzle(glm::Z, glm::Z, glm::W, glm::W)
00574 #define wzww swizzle(glm::W, glm::Z, glm::W, glm::W)
00575 #define xwww swizzle(glm::X, glm::W, glm::W, glm::W)
00576 #define ywww swizzle(glm::Y, glm::W, glm::W, glm::W)
00577 #define zwww swizzle(glm::Z, glm::W, glm::W, glm::W)
00578 #define wwww swizzle(glm::W, glm::W, glm::W, glm::W)
00579
00580 #endif
00581
00582 #if(defined(GLM_SWIZZLE_RGBA) || defined(GLM_SWIZZLE))
00583
00584 #define rrrr swizzle(glm::X, glm::X, glm::X, glm::X)
00585 #define grrr swizzle(glm::Y, glm::X, glm::X, glm::X)
00586 #define brrr swizzle(glm::Z, glm::X, glm::X, glm::X)
00587 #define arrr swizzle(glm::W, glm::X, glm::X, glm::X)
00588 #define rgrr swizzle(glm::X, glm::Y, glm::X, glm::X)
00589 #define ggrr swizzle(glm::Y, glm::Y, glm::X, glm::X)
00590 #define bgrr swizzle(glm::Z, glm::Y, glm::X, glm::X)
00591 #define agrr swizzle(glm::W, glm::Y, glm::X, glm::X)
00592 #define rbrr swizzle(glm::X, glm::Z, glm::X, glm::X)
00593 #define gbrr swizzle(glm::Y, glm::Z, glm::X, glm::X)
00594 #define bbrr swizzle(glm::Z, glm::Z, glm::X, glm::X)
00595 #define abrr swizzle(glm::W, glm::Z, glm::X, glm::X)
00596 #define rarr swizzle(glm::X, glm::W, glm::X, glm::X)
00597 #define garr swizzle(glm::Y, glm::W, glm::X, glm::X)
00598 #define barr swizzle(glm::Z, glm::W, glm::X, glm::X)
00599 #define aarr swizzle(glm::W, glm::W, glm::X, glm::X)
00600 #define rrgr swizzle(glm::X, glm::X, glm::Y, glm::X)
00601 #define grgr swizzle(glm::Y, glm::X, glm::Y, glm::X)
00602 #define brgr swizzle(glm::Z, glm::X, glm::Y, glm::X)
00603 #define argr swizzle(glm::W, glm::X, glm::Y, glm::X)
00604 #define rggr swizzle(glm::X, glm::Y, glm::Y, glm::X)
00605 #define gggr swizzle(glm::Y, glm::Y, glm::Y, glm::X)
00606 #define bggr swizzle(glm::Z, glm::Y, glm::Y, glm::X)
00607 #define aggr swizzle(glm::W, glm::Y, glm::Y, glm::X)
00608 #define rbgr swizzle(glm::X, glm::Z, glm::Y, glm::X)
00609 #define gbgr swizzle(glm::Y, glm::Z, glm::Y, glm::X)
00610 #define bbgr swizzle(glm::Z, glm::Z, glm::Y, glm::X)
00611 #define abgr swizzle(glm::W, glm::Z, glm::Y, glm::X)
00612 #define ragr swizzle(glm::X, glm::W, glm::Y, glm::X)
00613 #define gagr swizzle(glm::Y, glm::W, glm::Y, glm::X)
00614 #define bagr swizzle(glm::Z, glm::W, glm::Y, glm::X)
00615 #define aagr swizzle(glm::W, glm::W, glm::Y, glm::X)
00616 #define rrbr swizzle(glm::X, glm::X, glm::Z, glm::X)
00617 #define grbr swizzle(glm::Y, glm::X, glm::Z, glm::X)
00618 #define brbr swizzle(glm::Z, glm::X, glm::Z, glm::X)
00619 #define arbr swizzle(glm::W, glm::X, glm::Z, glm::X)
00620 #define rgbr swizzle(glm::X, glm::Y, glm::Z, glm::X)
00621 #define ggbr swizzle(glm::Y, glm::Y, glm::Z, glm::X)
00622 #define bgbr swizzle(glm::Z, glm::Y, glm::Z, glm::X)
00623 #define agbr swizzle(glm::W, glm::Y, glm::Z, glm::X)
00624 #define rbbr swizzle(glm::X, glm::Z, glm::Z, glm::X)
00625 #define gbbr swizzle(glm::Y, glm::Z, glm::Z, glm::X)
00626 #define bbbr swizzle(glm::Z, glm::Z, glm::Z, glm::X)
00627 #define abbr swizzle(glm::W, glm::Z, glm::Z, glm::X)
00628 #define rabr swizzle(glm::X, glm::W, glm::Z, glm::X)
00629 #define gabr swizzle(glm::Y, glm::W, glm::Z, glm::X)
00630 #define babr swizzle(glm::Z, glm::W, glm::Z, glm::X)
00631 #define aabr swizzle(glm::W, glm::W, glm::Z, glm::X)
00632 #define rrar swizzle(glm::X, glm::X, glm::W, glm::X)
00633 #define grar swizzle(glm::Y, glm::X, glm::W, glm::X)
00634 #define brar swizzle(glm::Z, glm::X, glm::W, glm::X)
00635 #define arar swizzle(glm::W, glm::X, glm::W, glm::X)
00636 #define rgar swizzle(glm::X, glm::Y, glm::W, glm::X)
00637 #define ggar swizzle(glm::Y, glm::Y, glm::W, glm::X)
00638 #define bgar swizzle(glm::Z, glm::Y, glm::W, glm::X)
00639 #define agar swizzle(glm::W, glm::Y, glm::W, glm::X)
00640 #define rbar swizzle(glm::X, glm::Z, glm::W, glm::X)
00641 #define gbar swizzle(glm::Y, glm::Z, glm::W, glm::X)
00642 #define bbar swizzle(glm::Z, glm::Z, glm::W, glm::X)
00643 #define abar swizzle(glm::W, glm::Z, glm::W, glm::X)
00644 #define raar swizzle(glm::X, glm::W, glm::W, glm::X)
00645 #define gaar swizzle(glm::Y, glm::W, glm::W, glm::X)
00646 #define baar swizzle(glm::Z, glm::W, glm::W, glm::X)
00647 #define aaar swizzle(glm::W, glm::W, glm::W, glm::X)
00648 #define rrrg swizzle(glm::X, glm::X, glm::X, glm::Y)
00649 #define grrg swizzle(glm::Y, glm::X, glm::X, glm::Y)
00650 #define brrg swizzle(glm::Z, glm::X, glm::X, glm::Y)
00651 #define arrg swizzle(glm::W, glm::X, glm::X, glm::Y)
00652 #define rgrg swizzle(glm::X, glm::Y, glm::X, glm::Y)
00653 #define ggrg swizzle(glm::Y, glm::Y, glm::X, glm::Y)
00654 #define bgrg swizzle(glm::Z, glm::Y, glm::X, glm::Y)
00655 #define agrg swizzle(glm::W, glm::Y, glm::X, glm::Y)
00656 #define rbrg swizzle(glm::X, glm::Z, glm::X, glm::Y)
00657 #define gbrg swizzle(glm::Y, glm::Z, glm::X, glm::Y)
00658 #define bbrg swizzle(glm::Z, glm::Z, glm::X, glm::Y)
00659 #define abrg swizzle(glm::W, glm::Z, glm::X, glm::Y)
00660 #define rarg swizzle(glm::X, glm::W, glm::X, glm::Y)
00661 #define garg swizzle(glm::Y, glm::W, glm::X, glm::Y)
00662 #define barg swizzle(glm::Z, glm::W, glm::X, glm::Y)
00663 #define aarg swizzle(glm::W, glm::W, glm::X, glm::Y)
00664 #define rrgg swizzle(glm::X, glm::X, glm::Y, glm::Y)
00665 #define grgg swizzle(glm::Y, glm::X, glm::Y, glm::Y)
00666 #define brgg swizzle(glm::Z, glm::X, glm::Y, glm::Y)
00667 #define argg swizzle(glm::W, glm::X, glm::Y, glm::Y)
00668 #define rggg swizzle(glm::X, glm::Y, glm::Y, glm::Y)
00669 #define gggg swizzle(glm::Y, glm::Y, glm::Y, glm::Y)
00670 #define bggg swizzle(glm::Z, glm::Y, glm::Y, glm::Y)
00671 #define aggg swizzle(glm::W, glm::Y, glm::Y, glm::Y)
00672 #define rbgg swizzle(glm::X, glm::Z, glm::Y, glm::Y)
00673 #define gbgg swizzle(glm::Y, glm::Z, glm::Y, glm::Y)
00674 #define bbgg swizzle(glm::Z, glm::Z, glm::Y, glm::Y)
00675 #define abgg swizzle(glm::W, glm::Z, glm::Y, glm::Y)
00676 #define ragg swizzle(glm::X, glm::W, glm::Y, glm::Y)
00677 #define gagg swizzle(glm::Y, glm::W, glm::Y, glm::Y)
00678 #define bagg swizzle(glm::Z, glm::W, glm::Y, glm::Y)
00679 #define aagg swizzle(glm::W, glm::W, glm::Y, glm::Y)
00680 #define rrbg swizzle(glm::X, glm::X, glm::Z, glm::Y)
00681 #define grbg swizzle(glm::Y, glm::X, glm::Z, glm::Y)
00682 #define brbg swizzle(glm::Z, glm::X, glm::Z, glm::Y)
00683 #define arbg swizzle(glm::W, glm::X, glm::Z, glm::Y)
00684 #define rgbg swizzle(glm::X, glm::Y, glm::Z, glm::Y)
00685 #define ggbg swizzle(glm::Y, glm::Y, glm::Z, glm::Y)
00686 #define bgbg swizzle(glm::Z, glm::Y, glm::Z, glm::Y)
00687 #define agbg swizzle(glm::W, glm::Y, glm::Z, glm::Y)
00688 #define rbbg swizzle(glm::X, glm::Z, glm::Z, glm::Y)
00689 #define gbbg swizzle(glm::Y, glm::Z, glm::Z, glm::Y)
00690 #define bbbg swizzle(glm::Z, glm::Z, glm::Z, glm::Y)
00691 #define abbg swizzle(glm::W, glm::Z, glm::Z, glm::Y)
00692 #define rabg swizzle(glm::X, glm::W, glm::Z, glm::Y)
00693 #define gabg swizzle(glm::Y, glm::W, glm::Z, glm::Y)
00694 #define babg swizzle(glm::Z, glm::W, glm::Z, glm::Y)
00695 #define aabg swizzle(glm::W, glm::W, glm::Z, glm::Y)
00696 #define rrag swizzle(glm::X, glm::X, glm::W, glm::Y)
00697 #define grag swizzle(glm::Y, glm::X, glm::W, glm::Y)
00698 #define brag swizzle(glm::Z, glm::X, glm::W, glm::Y)
00699 #define arag swizzle(glm::W, glm::X, glm::W, glm::Y)
00700 #define rgag swizzle(glm::X, glm::Y, glm::W, glm::Y)
00701 #define ggag swizzle(glm::Y, glm::Y, glm::W, glm::Y)
00702 #define bgag swizzle(glm::Z, glm::Y, glm::W, glm::Y)
00703 #define agag swizzle(glm::W, glm::Y, glm::W, glm::Y)
00704 #define rbag swizzle(glm::X, glm::Z, glm::W, glm::Y)
00705 #define gbag swizzle(glm::Y, glm::Z, glm::W, glm::Y)
00706 #define bbag swizzle(glm::Z, glm::Z, glm::W, glm::Y)
00707 #define abag swizzle(glm::W, glm::Z, glm::W, glm::Y)
00708 #define raag swizzle(glm::X, glm::W, glm::W, glm::Y)
00709 #define gaag swizzle(glm::Y, glm::W, glm::W, glm::Y)
00710 #define baag swizzle(glm::Z, glm::W, glm::W, glm::Y)
00711 #define aaag swizzle(glm::W, glm::W, glm::W, glm::Y)
00712 #define rrrb swizzle(glm::X, glm::X, glm::X, glm::Z)
00713 #define grrb swizzle(glm::Y, glm::X, glm::X, glm::Z)
00714 #define brrb swizzle(glm::Z, glm::X, glm::X, glm::Z)
00715 #define arrb swizzle(glm::W, glm::X, glm::X, glm::Z)
00716 #define rgrb swizzle(glm::X, glm::Y, glm::X, glm::Z)
00717 #define ggrb swizzle(glm::Y, glm::Y, glm::X, glm::Z)
00718 #define bgrb swizzle(glm::Z, glm::Y, glm::X, glm::Z)
00719 #define agrb swizzle(glm::W, glm::Y, glm::X, glm::Z)
00720 #define rbrb swizzle(glm::X, glm::Z, glm::X, glm::Z)
00721 #define gbrb swizzle(glm::Y, glm::Z, glm::X, glm::Z)
00722 #define bbrb swizzle(glm::Z, glm::Z, glm::X, glm::Z)
00723 #define abrb swizzle(glm::W, glm::Z, glm::X, glm::Z)
00724 #define rarb swizzle(glm::X, glm::W, glm::X, glm::Z)
00725 #define garb swizzle(glm::Y, glm::W, glm::X, glm::Z)
00726 #define barb swizzle(glm::Z, glm::W, glm::X, glm::Z)
00727 #define aarb swizzle(glm::W, glm::W, glm::X, glm::Z)
00728 #define rrgb swizzle(glm::X, glm::X, glm::Y, glm::Z)
00729 #define grgb swizzle(glm::Y, glm::X, glm::Y, glm::Z)
00730 #define brgb swizzle(glm::Z, glm::X, glm::Y, glm::Z)
00731 #define argb swizzle(glm::W, glm::X, glm::Y, glm::Z)
00732 #define rggb swizzle(glm::X, glm::Y, glm::Y, glm::Z)
00733 #define gggb swizzle(glm::Y, glm::Y, glm::Y, glm::Z)
00734 #define bggb swizzle(glm::Z, glm::Y, glm::Y, glm::Z)
00735 #define aggb swizzle(glm::W, glm::Y, glm::Y, glm::Z)
00736 #define rbgb swizzle(glm::X, glm::Z, glm::Y, glm::Z)
00737 #define gbgb swizzle(glm::Y, glm::Z, glm::Y, glm::Z)
00738 #define bbgb swizzle(glm::Z, glm::Z, glm::Y, glm::Z)
00739 #define abgb swizzle(glm::W, glm::Z, glm::Y, glm::Z)
00740 #define ragb swizzle(glm::X, glm::W, glm::Y, glm::Z)
00741 #define gagb swizzle(glm::Y, glm::W, glm::Y, glm::Z)
00742 #define bagb swizzle(glm::Z, glm::W, glm::Y, glm::Z)
00743 #define aagb swizzle(glm::W, glm::W, glm::Y, glm::Z)
00744 #define rrbb swizzle(glm::X, glm::X, glm::Z, glm::Z)
00745 #define grbb swizzle(glm::Y, glm::X, glm::Z, glm::Z)
00746 #define brbb swizzle(glm::Z, glm::X, glm::Z, glm::Z)
00747 #define arbb swizzle(glm::W, glm::X, glm::Z, glm::Z)
00748 #define rgbb swizzle(glm::X, glm::Y, glm::Z, glm::Z)
00749 #define ggbb swizzle(glm::Y, glm::Y, glm::Z, glm::Z)
00750 #define bgbb swizzle(glm::Z, glm::Y, glm::Z, glm::Z)
00751 #define agbb swizzle(glm::W, glm::Y, glm::Z, glm::Z)
00752 #define rbbb swizzle(glm::X, glm::Z, glm::Z, glm::Z)
00753 #define gbbb swizzle(glm::Y, glm::Z, glm::Z, glm::Z)
00754 #define bbbb swizzle(glm::Z, glm::Z, glm::Z, glm::Z)
00755 #define abbb swizzle(glm::W, glm::Z, glm::Z, glm::Z)
00756 #define rabb swizzle(glm::X, glm::W, glm::Z, glm::Z)
00757 #define gabb swizzle(glm::Y, glm::W, glm::Z, glm::Z)
00758 #define babb swizzle(glm::Z, glm::W, glm::Z, glm::Z)
00759 #define aabb swizzle(glm::W, glm::W, glm::Z, glm::Z)
00760 #define rrab swizzle(glm::X, glm::X, glm::W, glm::Z)
00761 #define grab swizzle(glm::Y, glm::X, glm::W, glm::Z)
00762 #define brab swizzle(glm::Z, glm::X, glm::W, glm::Z)
00763 #define arab swizzle(glm::W, glm::X, glm::W, glm::Z)
00764 #define rgab swizzle(glm::X, glm::Y, glm::W, glm::Z)
00765 #define ggab swizzle(glm::Y, glm::Y, glm::W, glm::Z)
00766 #define bgab swizzle(glm::Z, glm::Y, glm::W, glm::Z)
00767 #define agab swizzle(glm::W, glm::Y, glm::W, glm::Z)
00768 #define rbab swizzle(glm::X, glm::Z, glm::W, glm::Z)
00769 #define gbab swizzle(glm::Y, glm::Z, glm::W, glm::Z)
00770 #define bbab swizzle(glm::Z, glm::Z, glm::W, glm::Z)
00771 #define abab swizzle(glm::W, glm::Z, glm::W, glm::Z)
00772 #define raab swizzle(glm::X, glm::W, glm::W, glm::Z)
00773 #define gaab swizzle(glm::Y, glm::W, glm::W, glm::Z)
00774 #define baab swizzle(glm::Z, glm::W, glm::W, glm::Z)
00775 #define aaab swizzle(glm::W, glm::W, glm::W, glm::Z)
00776 #define rrra swizzle(glm::X, glm::X, glm::X, glm::W)
00777 #define grra swizzle(glm::Y, glm::X, glm::X, glm::W)
00778 #define brra swizzle(glm::Z, glm::X, glm::X, glm::W)
00779 #define arra swizzle(glm::W, glm::X, glm::X, glm::W)
00780 #define rgra swizzle(glm::X, glm::Y, glm::X, glm::W)
00781 #define ggra swizzle(glm::Y, glm::Y, glm::X, glm::W)
00782 #define bgra swizzle(glm::Z, glm::Y, glm::X, glm::W)
00783 #define agra swizzle(glm::W, glm::Y, glm::X, glm::W)
00784 #define rbra swizzle(glm::X, glm::Z, glm::X, glm::W)
00785 #define gbra swizzle(glm::Y, glm::Z, glm::X, glm::W)
00786 #define bbra swizzle(glm::Z, glm::Z, glm::X, glm::W)
00787 #define abra swizzle(glm::W, glm::Z, glm::X, glm::W)
00788 #define rara swizzle(glm::X, glm::W, glm::X, glm::W)
00789 #define gara swizzle(glm::Y, glm::W, glm::X, glm::W)
00790 #define bara swizzle(glm::Z, glm::W, glm::X, glm::W)
00791 #define aara swizzle(glm::W, glm::W, glm::X, glm::W)
00792 #define rrga swizzle(glm::X, glm::X, glm::Y, glm::W)
00793 #define grga swizzle(glm::Y, glm::X, glm::Y, glm::W)
00794 #define brga swizzle(glm::Z, glm::X, glm::Y, glm::W)
00795 #define arga swizzle(glm::W, glm::X, glm::Y, glm::W)
00796 #define rgga swizzle(glm::X, glm::Y, glm::Y, glm::W)
00797 #define ggga swizzle(glm::Y, glm::Y, glm::Y, glm::W)
00798 #define bgga swizzle(glm::Z, glm::Y, glm::Y, glm::W)
00799 #define agga swizzle(glm::W, glm::Y, glm::Y, glm::W)
00800 #define rbga swizzle(glm::X, glm::Z, glm::Y, glm::W)
00801 #define gbga swizzle(glm::Y, glm::Z, glm::Y, glm::W)
00802 #define bbga swizzle(glm::Z, glm::Z, glm::Y, glm::W)
00803 #define abga swizzle(glm::W, glm::Z, glm::Y, glm::W)
00804 #define raga swizzle(glm::X, glm::W, glm::Y, glm::W)
00805 #define gaga swizzle(glm::Y, glm::W, glm::Y, glm::W)
00806 #define baga swizzle(glm::Z, glm::W, glm::Y, glm::W)
00807 #define aaga swizzle(glm::W, glm::W, glm::Y, glm::W)
00808 #define rrba swizzle(glm::X, glm::X, glm::Z, glm::W)
00809 #define grba swizzle(glm::Y, glm::X, glm::Z, glm::W)
00810 #define brba swizzle(glm::Z, glm::X, glm::Z, glm::W)
00811 #define arba swizzle(glm::W, glm::X, glm::Z, glm::W)
00812 #define rgba swizzle(glm::X, glm::Y, glm::Z, glm::W)
00813 #define ggba swizzle(glm::Y, glm::Y, glm::Z, glm::W)
00814 #define bgba swizzle(glm::Z, glm::Y, glm::Z, glm::W)
00815 #define agba swizzle(glm::W, glm::Y, glm::Z, glm::W)
00816 #define rbba swizzle(glm::X, glm::Z, glm::Z, glm::W)
00817 #define gbba swizzle(glm::Y, glm::Z, glm::Z, glm::W)
00818 #define bbba swizzle(glm::Z, glm::Z, glm::Z, glm::W)
00819 #define abba swizzle(glm::W, glm::Z, glm::Z, glm::W)
00820 #define raba swizzle(glm::X, glm::W, glm::Z, glm::W)
00821 #define gaba swizzle(glm::Y, glm::W, glm::Z, glm::W)
00822 #define baba swizzle(glm::Z, glm::W, glm::Z, glm::W)
00823 #define aaba swizzle(glm::W, glm::W, glm::Z, glm::W)
00824 #define rraa swizzle(glm::X, glm::X, glm::W, glm::W)
00825 #define graa swizzle(glm::Y, glm::X, glm::W, glm::W)
00826 #define braa swizzle(glm::Z, glm::X, glm::W, glm::W)
00827 #define araa swizzle(glm::W, glm::X, glm::W, glm::W)
00828 #define rgaa swizzle(glm::X, glm::Y, glm::W, glm::W)
00829 #define ggaa swizzle(glm::Y, glm::Y, glm::W, glm::W)
00830 #define bgaa swizzle(glm::Z, glm::Y, glm::W, glm::W)
00831 #define agaa swizzle(glm::W, glm::Y, glm::W, glm::W)
00832 #define rbaa swizzle(glm::X, glm::Z, glm::W, glm::W)
00833 #define gbaa swizzle(glm::Y, glm::Z, glm::W, glm::W)
00834 #define bbaa swizzle(glm::Z, glm::Z, glm::W, glm::W)
00835 #define abaa swizzle(glm::W, glm::Z, glm::W, glm::W)
00836 #define raaa swizzle(glm::X, glm::W, glm::W, glm::W)
00837 #define gaaa swizzle(glm::Y, glm::W, glm::W, glm::W)
00838 #define baaa swizzle(glm::Z, glm::W, glm::W, glm::W)
00839 #define aaaa swizzle(glm::W, glm::W, glm::W, glm::W)
00840
00841 #endif
00842
00843 #if(defined(GLM_FORCE_SWIZZLE_STPQ) || defined(GLM_SWIZZLE))
00844
00845 #define ssss swizzle(glm::X, glm::X, glm::X, glm::X)
00846 #define tsss swizzle(glm::Y, glm::X, glm::X, glm::X)
00847 #define psss swizzle(glm::Z, glm::X, glm::X, glm::X)
00848 #define qsss swizzle(glm::W, glm::X, glm::X, glm::X)
00849 #define stss swizzle(glm::X, glm::Y, glm::X, glm::X)
00850 #define ttss swizzle(glm::Y, glm::Y, glm::X, glm::X)
00851 #define ptss swizzle(glm::Z, glm::Y, glm::X, glm::X)
00852 #define qtss swizzle(glm::W, glm::Y, glm::X, glm::X)
00853 #define spss swizzle(glm::X, glm::Z, glm::X, glm::X)
00854 #define tpss swizzle(glm::Y, glm::Z, glm::X, glm::X)
00855 #define ppss swizzle(glm::Z, glm::Z, glm::X, glm::X)
00856 #define qpss swizzle(glm::W, glm::Z, glm::X, glm::X)
00857 #define sqss swizzle(glm::X, glm::W, glm::X, glm::X)
00858 #define tqss swizzle(glm::Y, glm::W, glm::X, glm::X)
00859 #define pqss swizzle(glm::Z, glm::W, glm::X, glm::X)
00860 #define qqss swizzle(glm::W, glm::W, glm::X, glm::X)
00861 #define ssts swizzle(glm::X, glm::X, glm::Y, glm::X)
00862 #define tsts swizzle(glm::Y, glm::X, glm::Y, glm::X)
00863 #define psts swizzle(glm::Z, glm::X, glm::Y, glm::X)
00864 #define qsts swizzle(glm::W, glm::X, glm::Y, glm::X)
00865 #define stts swizzle(glm::X, glm::Y, glm::Y, glm::X)
00866 #define ttts swizzle(glm::Y, glm::Y, glm::Y, glm::X)
00867 #define ptts swizzle(glm::Z, glm::Y, glm::Y, glm::X)
00868 #define qtts swizzle(glm::W, glm::Y, glm::Y, glm::X)
00869 #define spts swizzle(glm::X, glm::Z, glm::Y, glm::X)
00870 #define tpts swizzle(glm::Y, glm::Z, glm::Y, glm::X)
00871 #define ppts swizzle(glm::Z, glm::Z, glm::Y, glm::X)
00872 #define qpts swizzle(glm::W, glm::Z, glm::Y, glm::X)
00873 #define sqts swizzle(glm::X, glm::W, glm::Y, glm::X)
00874 #define tqts swizzle(glm::Y, glm::W, glm::Y, glm::X)
00875 #define pqts swizzle(glm::Z, glm::W, glm::Y, glm::X)
00876 #define qqts swizzle(glm::W, glm::W, glm::Y, glm::X)
00877 #define ssps swizzle(glm::X, glm::X, glm::Z, glm::X)
00878 #define tsps swizzle(glm::Y, glm::X, glm::Z, glm::X)
00879 #define psps swizzle(glm::Z, glm::X, glm::Z, glm::X)
00880 #define qsps swizzle(glm::W, glm::X, glm::Z, glm::X)
00881 #define stps swizzle(glm::X, glm::Y, glm::Z, glm::X)
00882 #define ttps swizzle(glm::Y, glm::Y, glm::Z, glm::X)
00883 #define ptps swizzle(glm::Z, glm::Y, glm::Z, glm::X)
00884 #define qtps swizzle(glm::W, glm::Y, glm::Z, glm::X)
00885 #define spps swizzle(glm::X, glm::Z, glm::Z, glm::X)
00886 #define tpps swizzle(glm::Y, glm::Z, glm::Z, glm::X)
00887 #define ppps swizzle(glm::Z, glm::Z, glm::Z, glm::X)
00888 #define qpps swizzle(glm::W, glm::Z, glm::Z, glm::X)
00889 #define sqps swizzle(glm::X, glm::W, glm::Z, glm::X)
00890 #define tqps swizzle(glm::Y, glm::W, glm::Z, glm::X)
00891 #define pqps swizzle(glm::Z, glm::W, glm::Z, glm::X)
00892 #define qqps swizzle(glm::W, glm::W, glm::Z, glm::X)
00893 #define ssqs swizzle(glm::X, glm::X, glm::W, glm::X)
00894 #define tsqs swizzle(glm::Y, glm::X, glm::W, glm::X)
00895 #define psqs swizzle(glm::Z, glm::X, glm::W, glm::X)
00896 #define qsqs swizzle(glm::W, glm::X, glm::W, glm::X)
00897 #define stqs swizzle(glm::X, glm::Y, glm::W, glm::X)
00898 #define ttqs swizzle(glm::Y, glm::Y, glm::W, glm::X)
00899 #define ptqs swizzle(glm::Z, glm::Y, glm::W, glm::X)
00900 #define qtqs swizzle(glm::W, glm::Y, glm::W, glm::X)
00901 #define spqs swizzle(glm::X, glm::Z, glm::W, glm::X)
00902 #define tpqs swizzle(glm::Y, glm::Z, glm::W, glm::X)
00903 #define ppqs swizzle(glm::Z, glm::Z, glm::W, glm::X)
00904 #define qpqs swizzle(glm::W, glm::Z, glm::W, glm::X)
00905 #define sqqs swizzle(glm::X, glm::W, glm::W, glm::X)
00906 #define tqqs swizzle(glm::Y, glm::W, glm::W, glm::X)
00907 #define pqqs swizzle(glm::Z, glm::W, glm::W, glm::X)
00908 #define qqqs swizzle(glm::W, glm::W, glm::W, glm::X)
00909 #define ssst swizzle(glm::X, glm::X, glm::X, glm::Y)
00910 #define tsst swizzle(glm::Y, glm::X, glm::X, glm::Y)
00911 #define psst swizzle(glm::Z, glm::X, glm::X, glm::Y)
00912 #define qsst swizzle(glm::W, glm::X, glm::X, glm::Y)
00913 #define stst swizzle(glm::X, glm::Y, glm::X, glm::Y)
00914 #define ttst swizzle(glm::Y, glm::Y, glm::X, glm::Y)
00915 #define ptst swizzle(glm::Z, glm::Y, glm::X, glm::Y)
00916 #define qtst swizzle(glm::W, glm::Y, glm::X, glm::Y)
00917 #define spst swizzle(glm::X, glm::Z, glm::X, glm::Y)
00918 #define tpst swizzle(glm::Y, glm::Z, glm::X, glm::Y)
00919 #define ppst swizzle(glm::Z, glm::Z, glm::X, glm::Y)
00920 #define qpst swizzle(glm::W, glm::Z, glm::X, glm::Y)
00921 #define sqst swizzle(glm::X, glm::W, glm::X, glm::Y)
00922 #define tqst swizzle(glm::Y, glm::W, glm::X, glm::Y)
00923 #define pqst swizzle(glm::Z, glm::W, glm::X, glm::Y)
00924 #define qqst swizzle(glm::W, glm::W, glm::X, glm::Y)
00925 #define sstt swizzle(glm::X, glm::X, glm::Y, glm::Y)
00926 #define tstt swizzle(glm::Y, glm::X, glm::Y, glm::Y)
00927 #define pstt swizzle(glm::Z, glm::X, glm::Y, glm::Y)
00928 #define qstt swizzle(glm::W, glm::X, glm::Y, glm::Y)
00929 #define sttt swizzle(glm::X, glm::Y, glm::Y, glm::Y)
00930 #define tttt swizzle(glm::Y, glm::Y, glm::Y, glm::Y)
00931 #define pttt swizzle(glm::Z, glm::Y, glm::Y, glm::Y)
00932 #define qttt swizzle(glm::W, glm::Y, glm::Y, glm::Y)
00933 #define sptt swizzle(glm::X, glm::Z, glm::Y, glm::Y)
00934 #define tptt swizzle(glm::Y, glm::Z, glm::Y, glm::Y)
00935 #define pptt swizzle(glm::Z, glm::Z, glm::Y, glm::Y)
00936 #define qptt swizzle(glm::W, glm::Z, glm::Y, glm::Y)
00937 #define sqtt swizzle(glm::X, glm::W, glm::Y, glm::Y)
00938 #define tqtt swizzle(glm::Y, glm::W, glm::Y, glm::Y)
00939 #define pqtt swizzle(glm::Z, glm::W, glm::Y, glm::Y)
00940 #define qqtt swizzle(glm::W, glm::W, glm::Y, glm::Y)
00941 #define sspt swizzle(glm::X, glm::X, glm::Z, glm::Y)
00942 #define tspt swizzle(glm::Y, glm::X, glm::Z, glm::Y)
00943 #define pspt swizzle(glm::Z, glm::X, glm::Z, glm::Y)
00944 #define qspt swizzle(glm::W, glm::X, glm::Z, glm::Y)
00945 #define stpt swizzle(glm::X, glm::Y, glm::Z, glm::Y)
00946 #define ttpt swizzle(glm::Y, glm::Y, glm::Z, glm::Y)
00947 #define ptpt swizzle(glm::Z, glm::Y, glm::Z, glm::Y)
00948 #define qtpt swizzle(glm::W, glm::Y, glm::Z, glm::Y)
00949 #define sppt swizzle(glm::X, glm::Z, glm::Z, glm::Y)
00950 #define tppt swizzle(glm::Y, glm::Z, glm::Z, glm::Y)
00951 #define pppt swizzle(glm::Z, glm::Z, glm::Z, glm::Y)
00952 #define qppt swizzle(glm::W, glm::Z, glm::Z, glm::Y)
00953 #define sqpt swizzle(glm::X, glm::W, glm::Z, glm::Y)
00954 #define tqpt swizzle(glm::Y, glm::W, glm::Z, glm::Y)
00955 #define pqpt swizzle(glm::Z, glm::W, glm::Z, glm::Y)
00956 #define qqpt swizzle(glm::W, glm::W, glm::Z, glm::Y)
00957 #define ssqt swizzle(glm::X, glm::X, glm::W, glm::Y)
00958 #define tsqt swizzle(glm::Y, glm::X, glm::W, glm::Y)
00959 #define psqt swizzle(glm::Z, glm::X, glm::W, glm::Y)
00960 #define qsqt swizzle(glm::W, glm::X, glm::W, glm::Y)
00961 #define stqt swizzle(glm::X, glm::Y, glm::W, glm::Y)
00962 #define ttqt swizzle(glm::Y, glm::Y, glm::W, glm::Y)
00963 #define ptqt swizzle(glm::Z, glm::Y, glm::W, glm::Y)
00964 #define qtqt swizzle(glm::W, glm::Y, glm::W, glm::Y)
00965 #define spqt swizzle(glm::X, glm::Z, glm::W, glm::Y)
00966 #define tpqt swizzle(glm::Y, glm::Z, glm::W, glm::Y)
00967 #define ppqt swizzle(glm::Z, glm::Z, glm::W, glm::Y)
00968 #define qpqt swizzle(glm::W, glm::Z, glm::W, glm::Y)
00969 #define sqqt swizzle(glm::X, glm::W, glm::W, glm::Y)
00970 #define tqqt swizzle(glm::Y, glm::W, glm::W, glm::Y)
00971 #define pqqt swizzle(glm::Z, glm::W, glm::W, glm::Y)
00972 #define qqqt swizzle(glm::W, glm::W, glm::W, glm::Y)
00973 #define sssp swizzle(glm::X, glm::X, glm::X, glm::Z)
00974 #define tssp swizzle(glm::Y, glm::X, glm::X, glm::Z)
00975 #define pssp swizzle(glm::Z, glm::X, glm::X, glm::Z)
00976 #define qssp swizzle(glm::W, glm::X, glm::X, glm::Z)
00977 #define stsp swizzle(glm::X, glm::Y, glm::X, glm::Z)
00978 #define ttsp swizzle(glm::Y, glm::Y, glm::X, glm::Z)
00979 #define ptsp swizzle(glm::Z, glm::Y, glm::X, glm::Z)
00980 #define qtsp swizzle(glm::W, glm::Y, glm::X, glm::Z)
00981 #define spsp swizzle(glm::X, glm::Z, glm::X, glm::Z)
00982 #define tpsp swizzle(glm::Y, glm::Z, glm::X, glm::Z)
00983 #define ppsp swizzle(glm::Z, glm::Z, glm::X, glm::Z)
00984 #define qpsp swizzle(glm::W, glm::Z, glm::X, glm::Z)
00985 #define sqsp swizzle(glm::X, glm::W, glm::X, glm::Z)
00986 #define tqsp swizzle(glm::Y, glm::W, glm::X, glm::Z)
00987 #define pqsp swizzle(glm::Z, glm::W, glm::X, glm::Z)
00988 #define qqsp swizzle(glm::W, glm::W, glm::X, glm::Z)
00989 #define sstp swizzle(glm::X, glm::X, glm::Y, glm::Z)
00990 #define tstp swizzle(glm::Y, glm::X, glm::Y, glm::Z)
00991 #define pstp swizzle(glm::Z, glm::X, glm::Y, glm::Z)
00992 #define qstp swizzle(glm::W, glm::X, glm::Y, glm::Z)
00993 #define sttp swizzle(glm::X, glm::Y, glm::Y, glm::Z)
00994 #define tttp swizzle(glm::Y, glm::Y, glm::Y, glm::Z)
00995 #define pttp swizzle(glm::Z, glm::Y, glm::Y, glm::Z)
00996 #define qttp swizzle(glm::W, glm::Y, glm::Y, glm::Z)
00997 #define sptp swizzle(glm::X, glm::Z, glm::Y, glm::Z)
00998 #define tptp swizzle(glm::Y, glm::Z, glm::Y, glm::Z)
00999 #define pptp swizzle(glm::Z, glm::Z, glm::Y, glm::Z)
01000 #define qptp swizzle(glm::W, glm::Z, glm::Y, glm::Z)
01001 #define sqtp swizzle(glm::X, glm::W, glm::Y, glm::Z)
01002 #define tqtp swizzle(glm::Y, glm::W, glm::Y, glm::Z)
01003 #define pqtp swizzle(glm::Z, glm::W, glm::Y, glm::Z)
01004 #define qqtp swizzle(glm::W, glm::W, glm::Y, glm::Z)
01005 #define sspp swizzle(glm::X, glm::X, glm::Z, glm::Z)
01006 #define tspp swizzle(glm::Y, glm::X, glm::Z, glm::Z)
01007 #define pspp swizzle(glm::Z, glm::X, glm::Z, glm::Z)
01008 #define qspp swizzle(glm::W, glm::X, glm::Z, glm::Z)
01009 #define stpp swizzle(glm::X, glm::Y, glm::Z, glm::Z)
01010 #define ttpp swizzle(glm::Y, glm::Y, glm::Z, glm::Z)
01011 #define ptpp swizzle(glm::Z, glm::Y, glm::Z, glm::Z)
01012 #define qtpp swizzle(glm::W, glm::Y, glm::Z, glm::Z)
01013 #define sppp swizzle(glm::X, glm::Z, glm::Z, glm::Z)
01014 #define tppp swizzle(glm::Y, glm::Z, glm::Z, glm::Z)
01015 #define pppp swizzle(glm::Z, glm::Z, glm::Z, glm::Z)
01016 #define qppp swizzle(glm::W, glm::Z, glm::Z, glm::Z)
01017 #define sqpp swizzle(glm::X, glm::W, glm::Z, glm::Z)
01018 #define tqpp swizzle(glm::Y, glm::W, glm::Z, glm::Z)
01019 #define pqpp swizzle(glm::Z, glm::W, glm::Z, glm::Z)
01020 #define qqpp swizzle(glm::W, glm::W, glm::Z, glm::Z)
01021 #define ssqp swizzle(glm::X, glm::X, glm::W, glm::Z)
01022 #define tsqp swizzle(glm::Y, glm::X, glm::W, glm::Z)
01023 #define psqp swizzle(glm::Z, glm::X, glm::W, glm::Z)
01024 #define qsqp swizzle(glm::W, glm::X, glm::W, glm::Z)
01025 #define stqp swizzle(glm::X, glm::Y, glm::W, glm::Z)
01026 #define ttqp swizzle(glm::Y, glm::Y, glm::W, glm::Z)
01027 #define ptqp swizzle(glm::Z, glm::Y, glm::W, glm::Z)
01028 #define qtqp swizzle(glm::W, glm::Y, glm::W, glm::Z)
01029 #define spqp swizzle(glm::X, glm::Z, glm::W, glm::Z)
01030 #define tpqp swizzle(glm::Y, glm::Z, glm::W, glm::Z)
01031 #define ppqp swizzle(glm::Z, glm::Z, glm::W, glm::Z)
01032 #define qpqp swizzle(glm::W, glm::Z, glm::W, glm::Z)
01033 #define sqqp swizzle(glm::X, glm::W, glm::W, glm::Z)
01034 #define tqqp swizzle(glm::Y, glm::W, glm::W, glm::Z)
01035 #define pqqp swizzle(glm::Z, glm::W, glm::W, glm::Z)
01036 #define qqqp swizzle(glm::W, glm::W, glm::W, glm::Z)
01037 #define sssq swizzle(glm::X, glm::X, glm::X, glm::W)
01038 #define tssq swizzle(glm::Y, glm::X, glm::X, glm::W)
01039 #define pssq swizzle(glm::Z, glm::X, glm::X, glm::W)
01040 #define qssq swizzle(glm::W, glm::X, glm::X, glm::W)
01041 #define stsq swizzle(glm::X, glm::Y, glm::X, glm::W)
01042 #define ttsq swizzle(glm::Y, glm::Y, glm::X, glm::W)
01043 #define ptsq swizzle(glm::Z, glm::Y, glm::X, glm::W)
01044 #define qtsq swizzle(glm::W, glm::Y, glm::X, glm::W)
01045 #define spsq swizzle(glm::X, glm::Z, glm::X, glm::W)
01046 #define tpsq swizzle(glm::Y, glm::Z, glm::X, glm::W)
01047 #define ppsq swizzle(glm::Z, glm::Z, glm::X, glm::W)
01048 #define qpsq swizzle(glm::W, glm::Z, glm::X, glm::W)
01049 #define sqsq swizzle(glm::X, glm::W, glm::X, glm::W)
01050 #define tqsq swizzle(glm::Y, glm::W, glm::X, glm::W)
01051 #define pqsq swizzle(glm::Z, glm::W, glm::X, glm::W)
01052 #define qqsq swizzle(glm::W, glm::W, glm::X, glm::W)
01053 #define sstq swizzle(glm::X, glm::X, glm::Y, glm::W)
01054 #define tstq swizzle(glm::Y, glm::X, glm::Y, glm::W)
01055 #define pstq swizzle(glm::Z, glm::X, glm::Y, glm::W)
01056 #define qstq swizzle(glm::W, glm::X, glm::Y, glm::W)
01057 #define sttq swizzle(glm::X, glm::Y, glm::Y, glm::W)
01058 #define tttq swizzle(glm::Y, glm::Y, glm::Y, glm::W)
01059 #define pttq swizzle(glm::Z, glm::Y, glm::Y, glm::W)
01060 #define qttq swizzle(glm::W, glm::Y, glm::Y, glm::W)
01061 #define sptq swizzle(glm::X, glm::Z, glm::Y, glm::W)
01062 #define tptq swizzle(glm::Y, glm::Z, glm::Y, glm::W)
01063 #define pptq swizzle(glm::Z, glm::Z, glm::Y, glm::W)
01064 #define qptq swizzle(glm::W, glm::Z, glm::Y, glm::W)
01065 #define sqtq swizzle(glm::X, glm::W, glm::Y, glm::W)
01066 #define tqtq swizzle(glm::Y, glm::W, glm::Y, glm::W)
01067 #define pqtq swizzle(glm::Z, glm::W, glm::Y, glm::W)
01068 #define qqtq swizzle(glm::W, glm::W, glm::Y, glm::W)
01069 #define sspq swizzle(glm::X, glm::X, glm::Z, glm::W)
01070 #define tspq swizzle(glm::Y, glm::X, glm::Z, glm::W)
01071 #define pspq swizzle(glm::Z, glm::X, glm::Z, glm::W)
01072 #define qspq swizzle(glm::W, glm::X, glm::Z, glm::W)
01073 #define stpq swizzle(glm::X, glm::Y, glm::Z, glm::W)
01074 #define ttpq swizzle(glm::Y, glm::Y, glm::Z, glm::W)
01075 #define ptpq swizzle(glm::Z, glm::Y, glm::Z, glm::W)
01076 #define qtpq swizzle(glm::W, glm::Y, glm::Z, glm::W)
01077 #define sppq swizzle(glm::X, glm::Z, glm::Z, glm::W)
01078 #define tppq swizzle(glm::Y, glm::Z, glm::Z, glm::W)
01079 #define pppq swizzle(glm::Z, glm::Z, glm::Z, glm::W)
01080 #define qppq swizzle(glm::W, glm::Z, glm::Z, glm::W)
01081 #define sqpq swizzle(glm::X, glm::W, glm::Z, glm::W)
01082 #define tqpq swizzle(glm::Y, glm::W, glm::Z, glm::W)
01083 #define pqpq swizzle(glm::Z, glm::W, glm::Z, glm::W)
01084 #define qqpq swizzle(glm::W, glm::W, glm::Z, glm::W)
01085 #define ssqq swizzle(glm::X, glm::X, glm::W, glm::W)
01086 #define tsqq swizzle(glm::Y, glm::X, glm::W, glm::W)
01087 #define psqq swizzle(glm::Z, glm::X, glm::W, glm::W)
01088 #define qsqq swizzle(glm::W, glm::X, glm::W, glm::W)
01089 #define stqq swizzle(glm::X, glm::Y, glm::W, glm::W)
01090 #define ttqq swizzle(glm::Y, glm::Y, glm::W, glm::W)
01091 #define ptqq swizzle(glm::Z, glm::Y, glm::W, glm::W)
01092 #define qtqq swizzle(glm::W, glm::Y, glm::W, glm::W)
01093 #define spqq swizzle(glm::X, glm::Z, glm::W, glm::W)
01094 #define tpqq swizzle(glm::Y, glm::Z, glm::W, glm::W)
01095 #define ppqq swizzle(glm::Z, glm::Z, glm::W, glm::W)
01096 #define qpqq swizzle(glm::W, glm::Z, glm::W, glm::W)
01097 #define sqqq swizzle(glm::X, glm::W, glm::W, glm::W)
01098 #define tqqq swizzle(glm::Y, glm::W, glm::W, glm::W)
01099 #define pqqq swizzle(glm::Z, glm::W, glm::W, glm::W)
01100 #define qqqq swizzle(glm::W, glm::W, glm::W, glm::W)
01101
01102 #endif
01103
01104 #endif//glm_core_swizzle