|
|
@@ -0,0 +1,1085 @@
|
|
|
+///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+// OpenGL Mathematics Copyright (c) 2005 - 2010 G-Truc Creation (www.g-truc.net)
|
|
|
+///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+// Created : 2006-04-20
|
|
|
+// Updated : 2008-08-22
|
|
|
+// Licence : This source is under MIT License
|
|
|
+// File : glm/core/_swizzle.hpp
|
|
|
+///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+
|
|
|
+#ifndef glm_core_swizzle
|
|
|
+#define glm_core_swizzle
|
|
|
+
|
|
|
+namespace glm
|
|
|
+{
|
|
|
+ enum comp
|
|
|
+ {
|
|
|
+ X = 0,
|
|
|
+ R = 0,
|
|
|
+ S = 0,
|
|
|
+ Y = 1,
|
|
|
+ G = 1,
|
|
|
+ T = 1,
|
|
|
+ Z = 2,
|
|
|
+ B = 2,
|
|
|
+ P = 2,
|
|
|
+ W = 3,
|
|
|
+ A = 3,
|
|
|
+ Q = 3
|
|
|
+ };
|
|
|
+}//namespace glm
|
|
|
+
|
|
|
+#if defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_XYZW)
|
|
|
+
|
|
|
+#define xx swizzle(glm::X, glm::X)
|
|
|
+#define yx swizzle(glm::Y, glm::X)
|
|
|
+#define zx swizzle(glm::Z, glm::X)
|
|
|
+#define wx swizzle(glm::W, glm::X)
|
|
|
+#define xy swizzle(glm::X, glm::Y)
|
|
|
+#define yy swizzle(glm::Y, glm::Y)
|
|
|
+#define zy swizzle(glm::Z, glm::Y)
|
|
|
+#define wy swizzle(glm::W, glm::Y)
|
|
|
+#define xz swizzle(glm::X, glm::Z)
|
|
|
+#define yz swizzle(glm::Y, glm::Z)
|
|
|
+#define zz swizzle(glm::Z, glm::Z)
|
|
|
+#define wz swizzle(glm::W, glm::Z)
|
|
|
+#define xw swizzle(glm::X, glm::W)
|
|
|
+#define yw swizzle(glm::Y, glm::W)
|
|
|
+#define zw swizzle(glm::Z, glm::W)
|
|
|
+#define ww swizzle(glm::W, glm::W)
|
|
|
+
|
|
|
+#endif// defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_XYZW)
|
|
|
+
|
|
|
+#if defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_RGBA)
|
|
|
+
|
|
|
+#define rr swizzle(glm::X, glm::X)
|
|
|
+#define gr swizzle(glm::Y, glm::X)
|
|
|
+#define br swizzle(glm::Z, glm::X)
|
|
|
+#define ar swizzle(glm::W, glm::X)
|
|
|
+#define rg swizzle(glm::X, glm::Y)
|
|
|
+#define gg swizzle(glm::Y, glm::Y)
|
|
|
+#define bg swizzle(glm::Z, glm::Y)
|
|
|
+#define ag swizzle(glm::W, glm::Y)
|
|
|
+#define rb swizzle(glm::X, glm::Z)
|
|
|
+#define gb swizzle(glm::Y, glm::Z)
|
|
|
+#define bb swizzle(glm::Z, glm::Z)
|
|
|
+#define ab swizzle(glm::W, glm::Z)
|
|
|
+#define ra swizzle(glm::X, glm::W)
|
|
|
+#define ga swizzle(glm::Y, glm::W)
|
|
|
+#define ba swizzle(glm::Z, glm::W)
|
|
|
+#define aa swizzle(glm::W, glm::W)
|
|
|
+
|
|
|
+#endif// defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_RGBA)
|
|
|
+
|
|
|
+#if defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_STPQ)
|
|
|
+
|
|
|
+#define ss swizzle(glm::X, glm::X)
|
|
|
+#define ts swizzle(glm::Y, glm::X)
|
|
|
+#define ps swizzle(glm::Z, glm::X)
|
|
|
+#define qs swizzle(glm::W, glm::X)
|
|
|
+#define st swizzle(glm::X, glm::Y)
|
|
|
+#define tt swizzle(glm::Y, glm::Y)
|
|
|
+#define pt swizzle(glm::Z, glm::Y)
|
|
|
+#define qt swizzle(glm::W, glm::Y)
|
|
|
+#define sp swizzle(glm::X, glm::Z)
|
|
|
+#define tp swizzle(glm::Y, glm::Z)
|
|
|
+#define pp swizzle(glm::Z, glm::Z)
|
|
|
+#define qp swizzle(glm::W, glm::Z)
|
|
|
+#define sq swizzle(glm::X, glm::W)
|
|
|
+#define tq swizzle(glm::Y, glm::W)
|
|
|
+#define pq swizzle(glm::Z, glm::W)
|
|
|
+#define qq swizzle(glm::W, glm::W)
|
|
|
+
|
|
|
+#endif// defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_STPQ)
|
|
|
+
|
|
|
+#if defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_XYZW)
|
|
|
+
|
|
|
+#define xxx swizzle(glm::X, glm::X, glm::X)
|
|
|
+#define yxx swizzle(glm::Y, glm::X, glm::X)
|
|
|
+#define zxx swizzle(glm::Z, glm::X, glm::X)
|
|
|
+#define wxx swizzle(glm::W, glm::X, glm::X)
|
|
|
+#define xyx swizzle(glm::X, glm::Y, glm::X)
|
|
|
+#define yyx swizzle(glm::Y, glm::Y, glm::X)
|
|
|
+#define zyx swizzle(glm::Z, glm::Y, glm::X)
|
|
|
+#define wyx swizzle(glm::W, glm::Y, glm::X)
|
|
|
+#define xzx swizzle(glm::X, glm::Z, glm::X)
|
|
|
+#define yzx swizzle(glm::Y, glm::Z, glm::X)
|
|
|
+#define zzx swizzle(glm::Z, glm::Z, glm::X)
|
|
|
+#define wzx swizzle(glm::W, glm::Z, glm::X)
|
|
|
+#define xwx swizzle(glm::X, glm::W, glm::X)
|
|
|
+#define ywx swizzle(glm::Y, glm::W, glm::X)
|
|
|
+#define zwx swizzle(glm::Z, glm::W, glm::X)
|
|
|
+#define wwx swizzle(glm::W, glm::W, glm::X)
|
|
|
+#define xxy swizzle(glm::X, glm::X, glm::Y)
|
|
|
+#define yxy swizzle(glm::Y, glm::X, glm::Y)
|
|
|
+#define zxy swizzle(glm::Z, glm::X, glm::Y)
|
|
|
+#define wxy swizzle(glm::W, glm::X, glm::Y)
|
|
|
+#define xyy swizzle(glm::X, glm::Y, glm::Y)
|
|
|
+#define yyy swizzle(glm::Y, glm::Y, glm::Y)
|
|
|
+#define zyy swizzle(glm::Z, glm::Y, glm::Y)
|
|
|
+#define wyy swizzle(glm::W, glm::Y, glm::Y)
|
|
|
+#define xzy swizzle(glm::X, glm::Z, glm::Y)
|
|
|
+#define yzy swizzle(glm::Y, glm::Z, glm::Y)
|
|
|
+#define zzy swizzle(glm::Z, glm::Z, glm::Y)
|
|
|
+#define wzy swizzle(glm::W, glm::Z, glm::Y)
|
|
|
+#define xwy swizzle(glm::X, glm::W, glm::Y)
|
|
|
+#define ywy swizzle(glm::Y, glm::W, glm::Y)
|
|
|
+#define zwy swizzle(glm::Z, glm::W, glm::Y)
|
|
|
+#define wwy swizzle(glm::W, glm::W, glm::Y)
|
|
|
+#define xxz swizzle(glm::X, glm::X, glm::Z)
|
|
|
+#define yxz swizzle(glm::Y, glm::X, glm::Z)
|
|
|
+#define zxz swizzle(glm::Z, glm::X, glm::Z)
|
|
|
+#define wxz swizzle(glm::W, glm::X, glm::Z)
|
|
|
+#define xyz swizzle(glm::X, glm::Y, glm::Z)
|
|
|
+#define yyz swizzle(glm::Y, glm::Y, glm::Z)
|
|
|
+#define zyz swizzle(glm::Z, glm::Y, glm::Z)
|
|
|
+#define wyz swizzle(glm::W, glm::Y, glm::Z)
|
|
|
+#define xzz swizzle(glm::X, glm::Z, glm::Z)
|
|
|
+#define yzz swizzle(glm::Y, glm::Z, glm::Z)
|
|
|
+#define zzz swizzle(glm::Z, glm::Z, glm::Z)
|
|
|
+#define wzz swizzle(glm::W, glm::Z, glm::Z)
|
|
|
+#define xwz swizzle(glm::X, glm::W, glm::Z)
|
|
|
+#define ywz swizzle(glm::Y, glm::W, glm::Z)
|
|
|
+#define zwz swizzle(glm::Z, glm::W, glm::Z)
|
|
|
+#define wwz swizzle(glm::W, glm::W, glm::Z)
|
|
|
+#define xxw swizzle(glm::X, glm::X, glm::W)
|
|
|
+#define yxw swizzle(glm::Y, glm::X, glm::W)
|
|
|
+#define zxw swizzle(glm::Z, glm::X, glm::W)
|
|
|
+#define wxw swizzle(glm::W, glm::X, glm::W)
|
|
|
+#define xyw swizzle(glm::X, glm::Y, glm::W)
|
|
|
+#define yyw swizzle(glm::Y, glm::Y, glm::W)
|
|
|
+#define zyw swizzle(glm::Z, glm::Y, glm::W)
|
|
|
+#define wyw swizzle(glm::W, glm::Y, glm::W)
|
|
|
+#define xzw swizzle(glm::X, glm::Z, glm::W)
|
|
|
+#define yzw swizzle(glm::Y, glm::Z, glm::W)
|
|
|
+#define zzw swizzle(glm::Z, glm::Z, glm::W)
|
|
|
+#define wzw swizzle(glm::W, glm::Z, glm::W)
|
|
|
+#define xww swizzle(glm::X, glm::W, glm::W)
|
|
|
+#define yww swizzle(glm::Y, glm::W, glm::W)
|
|
|
+#define zww swizzle(glm::Z, glm::W, glm::W)
|
|
|
+#define www swizzle(glm::W, glm::W, glm::W)
|
|
|
+
|
|
|
+#endif// defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_XYZW)
|
|
|
+
|
|
|
+#if defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_RGBA)
|
|
|
+
|
|
|
+#define rrr swizzle(glm::X, glm::X, glm::X)
|
|
|
+#define grr swizzle(glm::Y, glm::X, glm::X)
|
|
|
+#define brr swizzle(glm::Z, glm::X, glm::X)
|
|
|
+#define arr swizzle(glm::W, glm::X, glm::X)
|
|
|
+#define rgr swizzle(glm::X, glm::Y, glm::X)
|
|
|
+#define ggr swizzle(glm::Y, glm::Y, glm::X)
|
|
|
+#define bgr swizzle(glm::Z, glm::Y, glm::X)
|
|
|
+#define agr swizzle(glm::W, glm::Y, glm::X)
|
|
|
+#define rbr swizzle(glm::X, glm::Z, glm::X)
|
|
|
+#define gbr swizzle(glm::Y, glm::Z, glm::X)
|
|
|
+#define bbr swizzle(glm::Z, glm::Z, glm::X)
|
|
|
+#define abr swizzle(glm::W, glm::Z, glm::X)
|
|
|
+#define rar swizzle(glm::X, glm::W, glm::X)
|
|
|
+#define gar swizzle(glm::Y, glm::W, glm::X)
|
|
|
+#define bar swizzle(glm::Z, glm::W, glm::X)
|
|
|
+#define aar swizzle(glm::W, glm::W, glm::X)
|
|
|
+#define rrg swizzle(glm::X, glm::X, glm::Y)
|
|
|
+#define grg swizzle(glm::Y, glm::X, glm::Y)
|
|
|
+#define brg swizzle(glm::Z, glm::X, glm::Y)
|
|
|
+#define arg swizzle(glm::W, glm::X, glm::Y)
|
|
|
+#define rgg swizzle(glm::X, glm::Y, glm::Y)
|
|
|
+#define ggg swizzle(glm::Y, glm::Y, glm::Y)
|
|
|
+#define bgg swizzle(glm::Z, glm::Y, glm::Y)
|
|
|
+#define agg swizzle(glm::W, glm::Y, glm::Y)
|
|
|
+#define rbg swizzle(glm::X, glm::Z, glm::Y)
|
|
|
+#define gbg swizzle(glm::Y, glm::Z, glm::Y)
|
|
|
+#define bbg swizzle(glm::Z, glm::Z, glm::Y)
|
|
|
+#define abg swizzle(glm::W, glm::Z, glm::Y)
|
|
|
+#define rag swizzle(glm::X, glm::W, glm::Y)
|
|
|
+#define gag swizzle(glm::Y, glm::W, glm::Y)
|
|
|
+#define bag swizzle(glm::Z, glm::W, glm::Y)
|
|
|
+#define aag swizzle(glm::W, glm::W, glm::Y)
|
|
|
+#define rrb swizzle(glm::X, glm::X, glm::Z)
|
|
|
+#define grb swizzle(glm::Y, glm::X, glm::Z)
|
|
|
+#define brb swizzle(glm::Z, glm::X, glm::Z)
|
|
|
+#define arb swizzle(glm::W, glm::X, glm::Z)
|
|
|
+#define rgb swizzle(glm::X, glm::Y, glm::Z)
|
|
|
+#define ggb swizzle(glm::Y, glm::Y, glm::Z)
|
|
|
+#define bgb swizzle(glm::Z, glm::Y, glm::Z)
|
|
|
+#define agb swizzle(glm::W, glm::Y, glm::Z)
|
|
|
+#define rbb swizzle(glm::X, glm::Z, glm::Z)
|
|
|
+#define gbb swizzle(glm::Y, glm::Z, glm::Z)
|
|
|
+#define bbb swizzle(glm::Z, glm::Z, glm::Z)
|
|
|
+#define abb swizzle(glm::W, glm::Z, glm::Z)
|
|
|
+#define rab swizzle(glm::X, glm::W, glm::Z)
|
|
|
+#define gab swizzle(glm::Y, glm::W, glm::Z)
|
|
|
+#define bab swizzle(glm::Z, glm::W, glm::Z)
|
|
|
+#define aab swizzle(glm::W, glm::W, glm::Z)
|
|
|
+#define rra swizzle(glm::X, glm::X, glm::W)
|
|
|
+#define gra swizzle(glm::Y, glm::X, glm::W)
|
|
|
+#define bra swizzle(glm::Z, glm::X, glm::W)
|
|
|
+#define ara swizzle(glm::W, glm::X, glm::W)
|
|
|
+#define rga swizzle(glm::X, glm::Y, glm::W)
|
|
|
+#define gga swizzle(glm::Y, glm::Y, glm::W)
|
|
|
+#define bga swizzle(glm::Z, glm::Y, glm::W)
|
|
|
+#define aga swizzle(glm::W, glm::Y, glm::W)
|
|
|
+#define rba swizzle(glm::X, glm::Z, glm::W)
|
|
|
+#define gba swizzle(glm::Y, glm::Z, glm::W)
|
|
|
+#define bba swizzle(glm::Z, glm::Z, glm::W)
|
|
|
+#define aba swizzle(glm::W, glm::Z, glm::W)
|
|
|
+#define raa swizzle(glm::X, glm::W, glm::W)
|
|
|
+#define gaa swizzle(glm::Y, glm::W, glm::W)
|
|
|
+#define baa swizzle(glm::Z, glm::W, glm::W)
|
|
|
+#define aaa swizzle(glm::W, glm::W, glm::W)
|
|
|
+
|
|
|
+#endif//defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_RGBA)
|
|
|
+
|
|
|
+#if defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_STPQ)
|
|
|
+
|
|
|
+#define sss swizzle(glm::X, glm::X, glm::X)
|
|
|
+#define tss swizzle(glm::Y, glm::X, glm::X)
|
|
|
+#define pss swizzle(glm::Z, glm::X, glm::X)
|
|
|
+#define qss swizzle(glm::W, glm::X, glm::X)
|
|
|
+#define sts swizzle(glm::X, glm::Y, glm::X)
|
|
|
+#define tts swizzle(glm::Y, glm::Y, glm::X)
|
|
|
+#define pts swizzle(glm::Z, glm::Y, glm::X)
|
|
|
+#define qts swizzle(glm::W, glm::Y, glm::X)
|
|
|
+#define sps swizzle(glm::X, glm::Z, glm::X)
|
|
|
+#define tps swizzle(glm::Y, glm::Z, glm::X)
|
|
|
+#define pps swizzle(glm::Z, glm::Z, glm::X)
|
|
|
+#define qps swizzle(glm::W, glm::Z, glm::X)
|
|
|
+#define sqs swizzle(glm::X, glm::W, glm::X)
|
|
|
+#define tqs swizzle(glm::Y, glm::W, glm::X)
|
|
|
+#define pqs swizzle(glm::Z, glm::W, glm::X)
|
|
|
+#define qqs swizzle(glm::W, glm::W, glm::X)
|
|
|
+#define sst swizzle(glm::X, glm::X, glm::Y)
|
|
|
+#define tst swizzle(glm::Y, glm::X, glm::Y)
|
|
|
+#define pst swizzle(glm::Z, glm::X, glm::Y)
|
|
|
+#define qst swizzle(glm::W, glm::X, glm::Y)
|
|
|
+#define stt swizzle(glm::X, glm::Y, glm::Y)
|
|
|
+#define ttt swizzle(glm::Y, glm::Y, glm::Y)
|
|
|
+#define ptt swizzle(glm::Z, glm::Y, glm::Y)
|
|
|
+#define qtt swizzle(glm::W, glm::Y, glm::Y)
|
|
|
+#define spt swizzle(glm::X, glm::Z, glm::Y)
|
|
|
+#define tpt swizzle(glm::Y, glm::Z, glm::Y)
|
|
|
+#define ppt swizzle(glm::Z, glm::Z, glm::Y)
|
|
|
+#define qpt swizzle(glm::W, glm::Z, glm::Y)
|
|
|
+#define sqt swizzle(glm::X, glm::W, glm::Y)
|
|
|
+#define tqt swizzle(glm::Y, glm::W, glm::Y)
|
|
|
+#define pqt swizzle(glm::Z, glm::W, glm::Y)
|
|
|
+#define qqt swizzle(glm::W, glm::W, glm::Y)
|
|
|
+#define ssp swizzle(glm::X, glm::X, glm::Z)
|
|
|
+#define tsp swizzle(glm::Y, glm::X, glm::Z)
|
|
|
+#define psp swizzle(glm::Z, glm::X, glm::Z)
|
|
|
+#define qsp swizzle(glm::W, glm::X, glm::Z)
|
|
|
+#define stp swizzle(glm::X, glm::Y, glm::Z)
|
|
|
+#define ttp swizzle(glm::Y, glm::Y, glm::Z)
|
|
|
+#define ptp swizzle(glm::Z, glm::Y, glm::Z)
|
|
|
+#define qtp swizzle(glm::W, glm::Y, glm::Z)
|
|
|
+#define spp swizzle(glm::X, glm::Z, glm::Z)
|
|
|
+#define tpp swizzle(glm::Y, glm::Z, glm::Z)
|
|
|
+#define ppp swizzle(glm::Z, glm::Z, glm::Z)
|
|
|
+#define qpp swizzle(glm::W, glm::Z, glm::Z)
|
|
|
+#define sqp swizzle(glm::X, glm::W, glm::Z)
|
|
|
+#define tqp swizzle(glm::Y, glm::W, glm::Z)
|
|
|
+#define pqp swizzle(glm::Z, glm::W, glm::Z)
|
|
|
+#define qqp swizzle(glm::W, glm::W, glm::Z)
|
|
|
+#define ssq swizzle(glm::X, glm::X, glm::W)
|
|
|
+#define tsq swizzle(glm::Y, glm::X, glm::W)
|
|
|
+#define psq swizzle(glm::Z, glm::X, glm::W)
|
|
|
+#define qsq swizzle(glm::W, glm::X, glm::W)
|
|
|
+#define stq swizzle(glm::X, glm::Y, glm::W)
|
|
|
+#define ttq swizzle(glm::Y, glm::Y, glm::W)
|
|
|
+#define ptq swizzle(glm::Z, glm::Y, glm::W)
|
|
|
+#define qtq swizzle(glm::W, glm::Y, glm::W)
|
|
|
+#define spq swizzle(glm::X, glm::Z, glm::W)
|
|
|
+#define tpq swizzle(glm::Y, glm::Z, glm::W)
|
|
|
+#define ppq swizzle(glm::Z, glm::Z, glm::W)
|
|
|
+#define qpq swizzle(glm::W, glm::Z, glm::W)
|
|
|
+#define sqq swizzle(glm::X, glm::W, glm::W)
|
|
|
+#define tqq swizzle(glm::Y, glm::W, glm::W)
|
|
|
+#define pqq swizzle(glm::Z, glm::W, glm::W)
|
|
|
+#define qqq swizzle(glm::W, glm::W, glm::W)
|
|
|
+
|
|
|
+#endif//defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_STPQ)
|
|
|
+
|
|
|
+#if defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_XYZW)
|
|
|
+
|
|
|
+#define xxxx swizzle(glm::X, glm::X, glm::X, glm::X)
|
|
|
+#define yxxx swizzle(glm::Y, glm::X, glm::X, glm::X)
|
|
|
+#define zxxx swizzle(glm::Z, glm::X, glm::X, glm::X)
|
|
|
+#define wxxx swizzle(glm::W, glm::X, glm::X, glm::X)
|
|
|
+#define xyxx swizzle(glm::X, glm::Y, glm::X, glm::X)
|
|
|
+#define yyxx swizzle(glm::Y, glm::Y, glm::X, glm::X)
|
|
|
+#define zyxx swizzle(glm::Z, glm::Y, glm::X, glm::X)
|
|
|
+#define wyxx swizzle(glm::W, glm::Y, glm::X, glm::X)
|
|
|
+#define xzxx swizzle(glm::X, glm::Z, glm::X, glm::X)
|
|
|
+#define yzxx swizzle(glm::Y, glm::Z, glm::X, glm::X)
|
|
|
+#define zzxx swizzle(glm::Z, glm::Z, glm::X, glm::X)
|
|
|
+#define wzxx swizzle(glm::W, glm::Z, glm::X, glm::X)
|
|
|
+#define xwxx swizzle(glm::X, glm::W, glm::X, glm::X)
|
|
|
+#define ywxx swizzle(glm::Y, glm::W, glm::X, glm::X)
|
|
|
+#define zwxx swizzle(glm::Z, glm::W, glm::X, glm::X)
|
|
|
+#define wwxx swizzle(glm::W, glm::W, glm::X, glm::X)
|
|
|
+#define xxyx swizzle(glm::X, glm::X, glm::Y, glm::X)
|
|
|
+#define yxyx swizzle(glm::Y, glm::X, glm::Y, glm::X)
|
|
|
+#define zxyx swizzle(glm::Z, glm::X, glm::Y, glm::X)
|
|
|
+#define wxyx swizzle(glm::W, glm::X, glm::Y, glm::X)
|
|
|
+#define xyyx swizzle(glm::X, glm::Y, glm::Y, glm::X)
|
|
|
+#define yyyx swizzle(glm::Y, glm::Y, glm::Y, glm::X)
|
|
|
+#define zyyx swizzle(glm::Z, glm::Y, glm::Y, glm::X)
|
|
|
+#define wyyx swizzle(glm::W, glm::Y, glm::Y, glm::X)
|
|
|
+#define xzyx swizzle(glm::X, glm::Z, glm::Y, glm::X)
|
|
|
+#define yzyx swizzle(glm::Y, glm::Z, glm::Y, glm::X)
|
|
|
+#define zzyx swizzle(glm::Z, glm::Z, glm::Y, glm::X)
|
|
|
+#define wzyx swizzle(glm::W, glm::Z, glm::Y, glm::X)
|
|
|
+#define xwyx swizzle(glm::X, glm::W, glm::Y, glm::X)
|
|
|
+#define ywyx swizzle(glm::Y, glm::W, glm::Y, glm::X)
|
|
|
+#define zwyx swizzle(glm::Z, glm::W, glm::Y, glm::X)
|
|
|
+#define wwyx swizzle(glm::W, glm::W, glm::Y, glm::X)
|
|
|
+#define xxzx swizzle(glm::X, glm::X, glm::Z, glm::X)
|
|
|
+#define yxzx swizzle(glm::Y, glm::X, glm::Z, glm::X)
|
|
|
+#define zxzx swizzle(glm::Z, glm::X, glm::Z, glm::X)
|
|
|
+#define wxzx swizzle(glm::W, glm::X, glm::Z, glm::X)
|
|
|
+#define xyzx swizzle(glm::X, glm::Y, glm::Z, glm::X)
|
|
|
+#define yyzx swizzle(glm::Y, glm::Y, glm::Z, glm::X)
|
|
|
+#define zyzx swizzle(glm::Z, glm::Y, glm::Z, glm::X)
|
|
|
+#define wyzx swizzle(glm::W, glm::Y, glm::Z, glm::X)
|
|
|
+#define xzzx swizzle(glm::X, glm::Z, glm::Z, glm::X)
|
|
|
+#define yzzx swizzle(glm::Y, glm::Z, glm::Z, glm::X)
|
|
|
+#define zzzx swizzle(glm::Z, glm::Z, glm::Z, glm::X)
|
|
|
+#define wzzx swizzle(glm::W, glm::Z, glm::Z, glm::X)
|
|
|
+#define xwzx swizzle(glm::X, glm::W, glm::Z, glm::X)
|
|
|
+#define ywzx swizzle(glm::Y, glm::W, glm::Z, glm::X)
|
|
|
+#define zwzx swizzle(glm::Z, glm::W, glm::Z, glm::X)
|
|
|
+#define wwzx swizzle(glm::W, glm::W, glm::Z, glm::X)
|
|
|
+#define xxwx swizzle(glm::X, glm::X, glm::W, glm::X)
|
|
|
+#define yxwx swizzle(glm::Y, glm::X, glm::W, glm::X)
|
|
|
+#define zxwx swizzle(glm::Z, glm::X, glm::W, glm::X)
|
|
|
+#define wxwx swizzle(glm::W, glm::X, glm::W, glm::X)
|
|
|
+#define xywx swizzle(glm::X, glm::Y, glm::W, glm::X)
|
|
|
+#define yywx swizzle(glm::Y, glm::Y, glm::W, glm::X)
|
|
|
+#define zywx swizzle(glm::Z, glm::Y, glm::W, glm::X)
|
|
|
+#define wywx swizzle(glm::W, glm::Y, glm::W, glm::X)
|
|
|
+#define xzwx swizzle(glm::X, glm::Z, glm::W, glm::X)
|
|
|
+#define yzwx swizzle(glm::Y, glm::Z, glm::W, glm::X)
|
|
|
+#define zzwx swizzle(glm::Z, glm::Z, glm::W, glm::X)
|
|
|
+#define wzwx swizzle(glm::W, glm::Z, glm::W, glm::X)
|
|
|
+#define xwwx swizzle(glm::X, glm::W, glm::W, glm::X)
|
|
|
+#define ywwx swizzle(glm::Y, glm::W, glm::W, glm::X)
|
|
|
+#define zwwx swizzle(glm::Z, glm::W, glm::W, glm::X)
|
|
|
+#define wwwx swizzle(glm::W, glm::W, glm::W, glm::X)
|
|
|
+#define xxxy swizzle(glm::X, glm::X, glm::X, glm::Y)
|
|
|
+#define yxxy swizzle(glm::Y, glm::X, glm::X, glm::Y)
|
|
|
+#define zxxy swizzle(glm::Z, glm::X, glm::X, glm::Y)
|
|
|
+#define wxxy swizzle(glm::W, glm::X, glm::X, glm::Y)
|
|
|
+#define xyxy swizzle(glm::X, glm::Y, glm::X, glm::Y)
|
|
|
+#define yyxy swizzle(glm::Y, glm::Y, glm::X, glm::Y)
|
|
|
+#define zyxy swizzle(glm::Z, glm::Y, glm::X, glm::Y)
|
|
|
+#define wyxy swizzle(glm::W, glm::Y, glm::X, glm::Y)
|
|
|
+#define xzxy swizzle(glm::X, glm::Z, glm::X, glm::Y)
|
|
|
+#define yzxy swizzle(glm::Y, glm::Z, glm::X, glm::Y)
|
|
|
+#define zzxy swizzle(glm::Z, glm::Z, glm::X, glm::Y)
|
|
|
+#define wzxy swizzle(glm::W, glm::Z, glm::X, glm::Y)
|
|
|
+#define xwxy swizzle(glm::X, glm::W, glm::X, glm::Y)
|
|
|
+#define ywxy swizzle(glm::Y, glm::W, glm::X, glm::Y)
|
|
|
+#define zwxy swizzle(glm::Z, glm::W, glm::X, glm::Y)
|
|
|
+#define wwxy swizzle(glm::W, glm::W, glm::X, glm::Y)
|
|
|
+#define xxyy swizzle(glm::X, glm::X, glm::Y, glm::Y)
|
|
|
+#define yxyy swizzle(glm::Y, glm::X, glm::Y, glm::Y)
|
|
|
+#define zxyy swizzle(glm::Z, glm::X, glm::Y, glm::Y)
|
|
|
+#define wxyy swizzle(glm::W, glm::X, glm::Y, glm::Y)
|
|
|
+#define xyyy swizzle(glm::X, glm::Y, glm::Y, glm::Y)
|
|
|
+#define yyyy swizzle(glm::Y, glm::Y, glm::Y, glm::Y)
|
|
|
+#define zyyy swizzle(glm::Z, glm::Y, glm::Y, glm::Y)
|
|
|
+#define wyyy swizzle(glm::W, glm::Y, glm::Y, glm::Y)
|
|
|
+#define xzyy swizzle(glm::X, glm::Z, glm::Y, glm::Y)
|
|
|
+#define yzyy swizzle(glm::Y, glm::Z, glm::Y, glm::Y)
|
|
|
+#define zzyy swizzle(glm::Z, glm::Z, glm::Y, glm::Y)
|
|
|
+#define wzyy swizzle(glm::W, glm::Z, glm::Y, glm::Y)
|
|
|
+#define xwyy swizzle(glm::X, glm::W, glm::Y, glm::Y)
|
|
|
+#define ywyy swizzle(glm::Y, glm::W, glm::Y, glm::Y)
|
|
|
+#define zwyy swizzle(glm::Z, glm::W, glm::Y, glm::Y)
|
|
|
+#define wwyy swizzle(glm::W, glm::W, glm::Y, glm::Y)
|
|
|
+#define xxzy swizzle(glm::X, glm::X, glm::Z, glm::Y)
|
|
|
+#define yxzy swizzle(glm::Y, glm::X, glm::Z, glm::Y)
|
|
|
+#define zxzy swizzle(glm::Z, glm::X, glm::Z, glm::Y)
|
|
|
+#define wxzy swizzle(glm::W, glm::X, glm::Z, glm::Y)
|
|
|
+#define xyzy swizzle(glm::X, glm::Y, glm::Z, glm::Y)
|
|
|
+#define yyzy swizzle(glm::Y, glm::Y, glm::Z, glm::Y)
|
|
|
+#define zyzy swizzle(glm::Z, glm::Y, glm::Z, glm::Y)
|
|
|
+#define wyzy swizzle(glm::W, glm::Y, glm::Z, glm::Y)
|
|
|
+#define xzzy swizzle(glm::X, glm::Z, glm::Z, glm::Y)
|
|
|
+#define yzzy swizzle(glm::Y, glm::Z, glm::Z, glm::Y)
|
|
|
+#define zzzy swizzle(glm::Z, glm::Z, glm::Z, glm::Y)
|
|
|
+#define wzzy swizzle(glm::W, glm::Z, glm::Z, glm::Y)
|
|
|
+#define xwzy swizzle(glm::X, glm::W, glm::Z, glm::Y)
|
|
|
+#define ywzy swizzle(glm::Y, glm::W, glm::Z, glm::Y)
|
|
|
+#define zwzy swizzle(glm::Z, glm::W, glm::Z, glm::Y)
|
|
|
+#define wwzy swizzle(glm::W, glm::W, glm::Z, glm::Y)
|
|
|
+#define xxwy swizzle(glm::X, glm::X, glm::W, glm::Y)
|
|
|
+#define yxwy swizzle(glm::Y, glm::X, glm::W, glm::Y)
|
|
|
+#define zxwy swizzle(glm::Z, glm::X, glm::W, glm::Y)
|
|
|
+#define wxwy swizzle(glm::W, glm::X, glm::W, glm::Y)
|
|
|
+#define xywy swizzle(glm::X, glm::Y, glm::W, glm::Y)
|
|
|
+#define yywy swizzle(glm::Y, glm::Y, glm::W, glm::Y)
|
|
|
+#define zywy swizzle(glm::Z, glm::Y, glm::W, glm::Y)
|
|
|
+#define wywy swizzle(glm::W, glm::Y, glm::W, glm::Y)
|
|
|
+#define xzwy swizzle(glm::X, glm::Z, glm::W, glm::Y)
|
|
|
+#define yzwy swizzle(glm::Y, glm::Z, glm::W, glm::Y)
|
|
|
+#define zzwy swizzle(glm::Z, glm::Z, glm::W, glm::Y)
|
|
|
+#define wzwy swizzle(glm::W, glm::Z, glm::W, glm::Y)
|
|
|
+#define xwwy swizzle(glm::X, glm::W, glm::W, glm::Y)
|
|
|
+#define ywwy swizzle(glm::Y, glm::W, glm::W, glm::Y)
|
|
|
+#define zwwy swizzle(glm::Z, glm::W, glm::W, glm::Y)
|
|
|
+#define wwwy swizzle(glm::W, glm::W, glm::W, glm::Y)
|
|
|
+#define xxxz swizzle(glm::X, glm::X, glm::X, glm::Z)
|
|
|
+#define yxxz swizzle(glm::Y, glm::X, glm::X, glm::Z)
|
|
|
+#define zxxz swizzle(glm::Z, glm::X, glm::X, glm::Z)
|
|
|
+#define wxxz swizzle(glm::W, glm::X, glm::X, glm::Z)
|
|
|
+#define xyxz swizzle(glm::X, glm::Y, glm::X, glm::Z)
|
|
|
+#define yyxz swizzle(glm::Y, glm::Y, glm::X, glm::Z)
|
|
|
+#define zyxz swizzle(glm::Z, glm::Y, glm::X, glm::Z)
|
|
|
+#define wyxz swizzle(glm::W, glm::Y, glm::X, glm::Z)
|
|
|
+#define xzxz swizzle(glm::X, glm::Z, glm::X, glm::Z)
|
|
|
+#define yzxz swizzle(glm::Y, glm::Z, glm::X, glm::Z)
|
|
|
+#define zzxz swizzle(glm::Z, glm::Z, glm::X, glm::Z)
|
|
|
+#define wzxz swizzle(glm::W, glm::Z, glm::X, glm::Z)
|
|
|
+#define xwxz swizzle(glm::X, glm::W, glm::X, glm::Z)
|
|
|
+#define ywxz swizzle(glm::Y, glm::W, glm::X, glm::Z)
|
|
|
+#define zwxz swizzle(glm::Z, glm::W, glm::X, glm::Z)
|
|
|
+#define wwxz swizzle(glm::W, glm::W, glm::X, glm::Z)
|
|
|
+#define xxyz swizzle(glm::X, glm::X, glm::Y, glm::Z)
|
|
|
+#define yxyz swizzle(glm::Y, glm::X, glm::Y, glm::Z)
|
|
|
+#define zxyz swizzle(glm::Z, glm::X, glm::Y, glm::Z)
|
|
|
+#define wxyz swizzle(glm::W, glm::X, glm::Y, glm::Z)
|
|
|
+#define xyyz swizzle(glm::X, glm::Y, glm::Y, glm::Z)
|
|
|
+#define yyyz swizzle(glm::Y, glm::Y, glm::Y, glm::Z)
|
|
|
+#define zyyz swizzle(glm::Z, glm::Y, glm::Y, glm::Z)
|
|
|
+#define wyyz swizzle(glm::W, glm::Y, glm::Y, glm::Z)
|
|
|
+#define xzyz swizzle(glm::X, glm::Z, glm::Y, glm::Z)
|
|
|
+#define yzyz swizzle(glm::Y, glm::Z, glm::Y, glm::Z)
|
|
|
+#define zzyz swizzle(glm::Z, glm::Z, glm::Y, glm::Z)
|
|
|
+#define wzyz swizzle(glm::W, glm::Z, glm::Y, glm::Z)
|
|
|
+#define xwyz swizzle(glm::X, glm::W, glm::Y, glm::Z)
|
|
|
+#define ywyz swizzle(glm::Y, glm::W, glm::Y, glm::Z)
|
|
|
+#define zwyz swizzle(glm::Z, glm::W, glm::Y, glm::Z)
|
|
|
+#define wwyz swizzle(glm::W, glm::W, glm::Y, glm::Z)
|
|
|
+#define xxzz swizzle(glm::X, glm::X, glm::Z, glm::Z)
|
|
|
+#define yxzz swizzle(glm::Y, glm::X, glm::Z, glm::Z)
|
|
|
+#define zxzz swizzle(glm::Z, glm::X, glm::Z, glm::Z)
|
|
|
+#define wxzz swizzle(glm::W, glm::X, glm::Z, glm::Z)
|
|
|
+#define xyzz swizzle(glm::X, glm::Y, glm::Z, glm::Z)
|
|
|
+#define yyzz swizzle(glm::Y, glm::Y, glm::Z, glm::Z)
|
|
|
+#define zyzz swizzle(glm::Z, glm::Y, glm::Z, glm::Z)
|
|
|
+#define wyzz swizzle(glm::W, glm::Y, glm::Z, glm::Z)
|
|
|
+#define xzzz swizzle(glm::X, glm::Z, glm::Z, glm::Z)
|
|
|
+#define yzzz swizzle(glm::Y, glm::Z, glm::Z, glm::Z)
|
|
|
+#define zzzz swizzle(glm::Z, glm::Z, glm::Z, glm::Z)
|
|
|
+#define wzzz swizzle(glm::W, glm::Z, glm::Z, glm::Z)
|
|
|
+#define xwzz swizzle(glm::X, glm::W, glm::Z, glm::Z)
|
|
|
+#define ywzz swizzle(glm::Y, glm::W, glm::Z, glm::Z)
|
|
|
+#define zwzz swizzle(glm::Z, glm::W, glm::Z, glm::Z)
|
|
|
+#define wwzz swizzle(glm::W, glm::W, glm::Z, glm::Z)
|
|
|
+#define xxwz swizzle(glm::X, glm::X, glm::W, glm::Z)
|
|
|
+#define yxwz swizzle(glm::Y, glm::X, glm::W, glm::Z)
|
|
|
+#define zxwz swizzle(glm::Z, glm::X, glm::W, glm::Z)
|
|
|
+#define wxwz swizzle(glm::W, glm::X, glm::W, glm::Z)
|
|
|
+#define xywz swizzle(glm::X, glm::Y, glm::W, glm::Z)
|
|
|
+#define yywz swizzle(glm::Y, glm::Y, glm::W, glm::Z)
|
|
|
+#define zywz swizzle(glm::Z, glm::Y, glm::W, glm::Z)
|
|
|
+#define wywz swizzle(glm::W, glm::Y, glm::W, glm::Z)
|
|
|
+#define xzwz swizzle(glm::X, glm::Z, glm::W, glm::Z)
|
|
|
+#define yzwz swizzle(glm::Y, glm::Z, glm::W, glm::Z)
|
|
|
+#define zzwz swizzle(glm::Z, glm::Z, glm::W, glm::Z)
|
|
|
+#define wzwz swizzle(glm::W, glm::Z, glm::W, glm::Z)
|
|
|
+#define xwwz swizzle(glm::X, glm::W, glm::W, glm::Z)
|
|
|
+#define ywwz swizzle(glm::Y, glm::W, glm::W, glm::Z)
|
|
|
+#define zwwz swizzle(glm::Z, glm::W, glm::W, glm::Z)
|
|
|
+#define wwwz swizzle(glm::W, glm::W, glm::W, glm::Z)
|
|
|
+#define xxxw swizzle(glm::X, glm::X, glm::X, glm::W)
|
|
|
+#define yxxw swizzle(glm::Y, glm::X, glm::X, glm::W)
|
|
|
+#define zxxw swizzle(glm::Z, glm::X, glm::X, glm::W)
|
|
|
+#define wxxw swizzle(glm::W, glm::X, glm::X, glm::W)
|
|
|
+#define xyxw swizzle(glm::X, glm::Y, glm::X, glm::W)
|
|
|
+#define yyxw swizzle(glm::Y, glm::Y, glm::X, glm::W)
|
|
|
+#define zyxw swizzle(glm::Z, glm::Y, glm::X, glm::W)
|
|
|
+#define wyxw swizzle(glm::W, glm::Y, glm::X, glm::W)
|
|
|
+#define xzxw swizzle(glm::X, glm::Z, glm::X, glm::W)
|
|
|
+#define yzxw swizzle(glm::Y, glm::Z, glm::X, glm::W)
|
|
|
+#define zzxw swizzle(glm::Z, glm::Z, glm::X, glm::W)
|
|
|
+#define wzxw swizzle(glm::W, glm::Z, glm::X, glm::W)
|
|
|
+#define xwxw swizzle(glm::X, glm::W, glm::X, glm::W)
|
|
|
+#define ywxw swizzle(glm::Y, glm::W, glm::X, glm::W)
|
|
|
+#define zwxw swizzle(glm::Z, glm::W, glm::X, glm::W)
|
|
|
+#define wwxw swizzle(glm::W, glm::W, glm::X, glm::W)
|
|
|
+#define xxyw swizzle(glm::X, glm::X, glm::Y, glm::W)
|
|
|
+#define yxyw swizzle(glm::Y, glm::X, glm::Y, glm::W)
|
|
|
+#define zxyw swizzle(glm::Z, glm::X, glm::Y, glm::W)
|
|
|
+#define wxyw swizzle(glm::W, glm::X, glm::Y, glm::W)
|
|
|
+#define xyyw swizzle(glm::X, glm::Y, glm::Y, glm::W)
|
|
|
+#define yyyw swizzle(glm::Y, glm::Y, glm::Y, glm::W)
|
|
|
+#define zyyw swizzle(glm::Z, glm::Y, glm::Y, glm::W)
|
|
|
+#define wyyw swizzle(glm::W, glm::Y, glm::Y, glm::W)
|
|
|
+#define xzyw swizzle(glm::X, glm::Z, glm::Y, glm::W)
|
|
|
+#define yzyw swizzle(glm::Y, glm::Z, glm::Y, glm::W)
|
|
|
+#define zzyw swizzle(glm::Z, glm::Z, glm::Y, glm::W)
|
|
|
+#define wzyw swizzle(glm::W, glm::Z, glm::Y, glm::W)
|
|
|
+#define xwyw swizzle(glm::X, glm::W, glm::Y, glm::W)
|
|
|
+#define ywyw swizzle(glm::Y, glm::W, glm::Y, glm::W)
|
|
|
+#define zwyw swizzle(glm::Z, glm::W, glm::Y, glm::W)
|
|
|
+#define wwyw swizzle(glm::W, glm::W, glm::Y, glm::W)
|
|
|
+#define xxzw swizzle(glm::X, glm::X, glm::Z, glm::W)
|
|
|
+#define yxzw swizzle(glm::Y, glm::X, glm::Z, glm::W)
|
|
|
+#define zxzw swizzle(glm::Z, glm::X, glm::Z, glm::W)
|
|
|
+#define wxzw swizzle(glm::W, glm::X, glm::Z, glm::W)
|
|
|
+#define xyzw swizzle(glm::X, glm::Y, glm::Z, glm::W)
|
|
|
+#define yyzw swizzle(glm::Y, glm::Y, glm::Z, glm::W)
|
|
|
+#define zyzw swizzle(glm::Z, glm::Y, glm::Z, glm::W)
|
|
|
+#define wyzw swizzle(glm::W, glm::Y, glm::Z, glm::W)
|
|
|
+#define xzzw swizzle(glm::X, glm::Z, glm::Z, glm::W)
|
|
|
+#define yzzw swizzle(glm::Y, glm::Z, glm::Z, glm::W)
|
|
|
+#define zzzw swizzle(glm::Z, glm::Z, glm::Z, glm::W)
|
|
|
+#define wzzw swizzle(glm::W, glm::Z, glm::Z, glm::W)
|
|
|
+#define xwzw swizzle(glm::X, glm::W, glm::Z, glm::W)
|
|
|
+#define ywzw swizzle(glm::Y, glm::W, glm::Z, glm::W)
|
|
|
+#define zwzw swizzle(glm::Z, glm::W, glm::Z, glm::W)
|
|
|
+#define wwzw swizzle(glm::W, glm::W, glm::Z, glm::W)
|
|
|
+#define xxww swizzle(glm::X, glm::X, glm::W, glm::W)
|
|
|
+#define yxww swizzle(glm::Y, glm::X, glm::W, glm::W)
|
|
|
+#define zxww swizzle(glm::Z, glm::X, glm::W, glm::W)
|
|
|
+#define wxww swizzle(glm::W, glm::X, glm::W, glm::W)
|
|
|
+#define xyww swizzle(glm::X, glm::Y, glm::W, glm::W)
|
|
|
+#define yyww swizzle(glm::Y, glm::Y, glm::W, glm::W)
|
|
|
+#define zyww swizzle(glm::Z, glm::Y, glm::W, glm::W)
|
|
|
+#define wyww swizzle(glm::W, glm::Y, glm::W, glm::W)
|
|
|
+#define xzww swizzle(glm::X, glm::Z, glm::W, glm::W)
|
|
|
+#define yzww swizzle(glm::Y, glm::Z, glm::W, glm::W)
|
|
|
+#define zzww swizzle(glm::Z, glm::Z, glm::W, glm::W)
|
|
|
+#define wzww swizzle(glm::W, glm::Z, glm::W, glm::W)
|
|
|
+#define xwww swizzle(glm::X, glm::W, glm::W, glm::W)
|
|
|
+#define ywww swizzle(glm::Y, glm::W, glm::W, glm::W)
|
|
|
+#define zwww swizzle(glm::Z, glm::W, glm::W, glm::W)
|
|
|
+#define wwww swizzle(glm::W, glm::W, glm::W, glm::W)
|
|
|
+
|
|
|
+#endif//defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_XYZW)
|
|
|
+
|
|
|
+#if defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_RGBA)
|
|
|
+
|
|
|
+#define rrrr swizzle(glm::X, glm::X, glm::X, glm::X)
|
|
|
+#define grrr swizzle(glm::Y, glm::X, glm::X, glm::X)
|
|
|
+#define brrr swizzle(glm::Z, glm::X, glm::X, glm::X)
|
|
|
+#define arrr swizzle(glm::W, glm::X, glm::X, glm::X)
|
|
|
+#define rgrr swizzle(glm::X, glm::Y, glm::X, glm::X)
|
|
|
+#define ggrr swizzle(glm::Y, glm::Y, glm::X, glm::X)
|
|
|
+#define bgrr swizzle(glm::Z, glm::Y, glm::X, glm::X)
|
|
|
+#define agrr swizzle(glm::W, glm::Y, glm::X, glm::X)
|
|
|
+#define rbrr swizzle(glm::X, glm::Z, glm::X, glm::X)
|
|
|
+#define gbrr swizzle(glm::Y, glm::Z, glm::X, glm::X)
|
|
|
+#define bbrr swizzle(glm::Z, glm::Z, glm::X, glm::X)
|
|
|
+#define abrr swizzle(glm::W, glm::Z, glm::X, glm::X)
|
|
|
+#define rarr swizzle(glm::X, glm::W, glm::X, glm::X)
|
|
|
+#define garr swizzle(glm::Y, glm::W, glm::X, glm::X)
|
|
|
+#define barr swizzle(glm::Z, glm::W, glm::X, glm::X)
|
|
|
+#define aarr swizzle(glm::W, glm::W, glm::X, glm::X)
|
|
|
+#define rrgr swizzle(glm::X, glm::X, glm::Y, glm::X)
|
|
|
+#define grgr swizzle(glm::Y, glm::X, glm::Y, glm::X)
|
|
|
+#define brgr swizzle(glm::Z, glm::X, glm::Y, glm::X)
|
|
|
+#define argr swizzle(glm::W, glm::X, glm::Y, glm::X)
|
|
|
+#define rggr swizzle(glm::X, glm::Y, glm::Y, glm::X)
|
|
|
+#define gggr swizzle(glm::Y, glm::Y, glm::Y, glm::X)
|
|
|
+#define bggr swizzle(glm::Z, glm::Y, glm::Y, glm::X)
|
|
|
+#define aggr swizzle(glm::W, glm::Y, glm::Y, glm::X)
|
|
|
+#define rbgr swizzle(glm::X, glm::Z, glm::Y, glm::X)
|
|
|
+#define gbgr swizzle(glm::Y, glm::Z, glm::Y, glm::X)
|
|
|
+#define bbgr swizzle(glm::Z, glm::Z, glm::Y, glm::X)
|
|
|
+#define abgr swizzle(glm::W, glm::Z, glm::Y, glm::X)
|
|
|
+#define ragr swizzle(glm::X, glm::W, glm::Y, glm::X)
|
|
|
+#define gagr swizzle(glm::Y, glm::W, glm::Y, glm::X)
|
|
|
+#define bagr swizzle(glm::Z, glm::W, glm::Y, glm::X)
|
|
|
+#define aagr swizzle(glm::W, glm::W, glm::Y, glm::X)
|
|
|
+#define rrbr swizzle(glm::X, glm::X, glm::Z, glm::X)
|
|
|
+#define grbr swizzle(glm::Y, glm::X, glm::Z, glm::X)
|
|
|
+#define brbr swizzle(glm::Z, glm::X, glm::Z, glm::X)
|
|
|
+#define arbr swizzle(glm::W, glm::X, glm::Z, glm::X)
|
|
|
+#define rgbr swizzle(glm::X, glm::Y, glm::Z, glm::X)
|
|
|
+#define ggbr swizzle(glm::Y, glm::Y, glm::Z, glm::X)
|
|
|
+#define bgbr swizzle(glm::Z, glm::Y, glm::Z, glm::X)
|
|
|
+#define agbr swizzle(glm::W, glm::Y, glm::Z, glm::X)
|
|
|
+#define rbbr swizzle(glm::X, glm::Z, glm::Z, glm::X)
|
|
|
+#define gbbr swizzle(glm::Y, glm::Z, glm::Z, glm::X)
|
|
|
+#define bbbr swizzle(glm::Z, glm::Z, glm::Z, glm::X)
|
|
|
+#define abbr swizzle(glm::W, glm::Z, glm::Z, glm::X)
|
|
|
+#define rabr swizzle(glm::X, glm::W, glm::Z, glm::X)
|
|
|
+#define gabr swizzle(glm::Y, glm::W, glm::Z, glm::X)
|
|
|
+#define babr swizzle(glm::Z, glm::W, glm::Z, glm::X)
|
|
|
+#define aabr swizzle(glm::W, glm::W, glm::Z, glm::X)
|
|
|
+#define rrar swizzle(glm::X, glm::X, glm::W, glm::X)
|
|
|
+#define grar swizzle(glm::Y, glm::X, glm::W, glm::X)
|
|
|
+#define brar swizzle(glm::Z, glm::X, glm::W, glm::X)
|
|
|
+#define arar swizzle(glm::W, glm::X, glm::W, glm::X)
|
|
|
+#define rgar swizzle(glm::X, glm::Y, glm::W, glm::X)
|
|
|
+#define ggar swizzle(glm::Y, glm::Y, glm::W, glm::X)
|
|
|
+#define bgar swizzle(glm::Z, glm::Y, glm::W, glm::X)
|
|
|
+#define agar swizzle(glm::W, glm::Y, glm::W, glm::X)
|
|
|
+#define rbar swizzle(glm::X, glm::Z, glm::W, glm::X)
|
|
|
+#define gbar swizzle(glm::Y, glm::Z, glm::W, glm::X)
|
|
|
+#define bbar swizzle(glm::Z, glm::Z, glm::W, glm::X)
|
|
|
+#define abar swizzle(glm::W, glm::Z, glm::W, glm::X)
|
|
|
+#define raar swizzle(glm::X, glm::W, glm::W, glm::X)
|
|
|
+#define gaar swizzle(glm::Y, glm::W, glm::W, glm::X)
|
|
|
+#define baar swizzle(glm::Z, glm::W, glm::W, glm::X)
|
|
|
+#define aaar swizzle(glm::W, glm::W, glm::W, glm::X)
|
|
|
+#define rrrg swizzle(glm::X, glm::X, glm::X, glm::Y)
|
|
|
+#define grrg swizzle(glm::Y, glm::X, glm::X, glm::Y)
|
|
|
+#define brrg swizzle(glm::Z, glm::X, glm::X, glm::Y)
|
|
|
+#define arrg swizzle(glm::W, glm::X, glm::X, glm::Y)
|
|
|
+#define rgrg swizzle(glm::X, glm::Y, glm::X, glm::Y)
|
|
|
+#define ggrg swizzle(glm::Y, glm::Y, glm::X, glm::Y)
|
|
|
+#define bgrg swizzle(glm::Z, glm::Y, glm::X, glm::Y)
|
|
|
+#define agrg swizzle(glm::W, glm::Y, glm::X, glm::Y)
|
|
|
+#define rbrg swizzle(glm::X, glm::Z, glm::X, glm::Y)
|
|
|
+#define gbrg swizzle(glm::Y, glm::Z, glm::X, glm::Y)
|
|
|
+#define bbrg swizzle(glm::Z, glm::Z, glm::X, glm::Y)
|
|
|
+#define abrg swizzle(glm::W, glm::Z, glm::X, glm::Y)
|
|
|
+#define rarg swizzle(glm::X, glm::W, glm::X, glm::Y)
|
|
|
+#define garg swizzle(glm::Y, glm::W, glm::X, glm::Y)
|
|
|
+#define barg swizzle(glm::Z, glm::W, glm::X, glm::Y)
|
|
|
+#define aarg swizzle(glm::W, glm::W, glm::X, glm::Y)
|
|
|
+#define rrgg swizzle(glm::X, glm::X, glm::Y, glm::Y)
|
|
|
+#define grgg swizzle(glm::Y, glm::X, glm::Y, glm::Y)
|
|
|
+#define brgg swizzle(glm::Z, glm::X, glm::Y, glm::Y)
|
|
|
+#define argg swizzle(glm::W, glm::X, glm::Y, glm::Y)
|
|
|
+#define rggg swizzle(glm::X, glm::Y, glm::Y, glm::Y)
|
|
|
+#define gggg swizzle(glm::Y, glm::Y, glm::Y, glm::Y)
|
|
|
+#define bggg swizzle(glm::Z, glm::Y, glm::Y, glm::Y)
|
|
|
+#define aggg swizzle(glm::W, glm::Y, glm::Y, glm::Y)
|
|
|
+#define rbgg swizzle(glm::X, glm::Z, glm::Y, glm::Y)
|
|
|
+#define gbgg swizzle(glm::Y, glm::Z, glm::Y, glm::Y)
|
|
|
+#define bbgg swizzle(glm::Z, glm::Z, glm::Y, glm::Y)
|
|
|
+#define abgg swizzle(glm::W, glm::Z, glm::Y, glm::Y)
|
|
|
+#define ragg swizzle(glm::X, glm::W, glm::Y, glm::Y)
|
|
|
+#define gagg swizzle(glm::Y, glm::W, glm::Y, glm::Y)
|
|
|
+#define bagg swizzle(glm::Z, glm::W, glm::Y, glm::Y)
|
|
|
+#define aagg swizzle(glm::W, glm::W, glm::Y, glm::Y)
|
|
|
+#define rrbg swizzle(glm::X, glm::X, glm::Z, glm::Y)
|
|
|
+#define grbg swizzle(glm::Y, glm::X, glm::Z, glm::Y)
|
|
|
+#define brbg swizzle(glm::Z, glm::X, glm::Z, glm::Y)
|
|
|
+#define arbg swizzle(glm::W, glm::X, glm::Z, glm::Y)
|
|
|
+#define rgbg swizzle(glm::X, glm::Y, glm::Z, glm::Y)
|
|
|
+#define ggbg swizzle(glm::Y, glm::Y, glm::Z, glm::Y)
|
|
|
+#define bgbg swizzle(glm::Z, glm::Y, glm::Z, glm::Y)
|
|
|
+#define agbg swizzle(glm::W, glm::Y, glm::Z, glm::Y)
|
|
|
+#define rbbg swizzle(glm::X, glm::Z, glm::Z, glm::Y)
|
|
|
+#define gbbg swizzle(glm::Y, glm::Z, glm::Z, glm::Y)
|
|
|
+#define bbbg swizzle(glm::Z, glm::Z, glm::Z, glm::Y)
|
|
|
+#define abbg swizzle(glm::W, glm::Z, glm::Z, glm::Y)
|
|
|
+#define rabg swizzle(glm::X, glm::W, glm::Z, glm::Y)
|
|
|
+#define gabg swizzle(glm::Y, glm::W, glm::Z, glm::Y)
|
|
|
+#define babg swizzle(glm::Z, glm::W, glm::Z, glm::Y)
|
|
|
+#define aabg swizzle(glm::W, glm::W, glm::Z, glm::Y)
|
|
|
+#define rrag swizzle(glm::X, glm::X, glm::W, glm::Y)
|
|
|
+#define grag swizzle(glm::Y, glm::X, glm::W, glm::Y)
|
|
|
+#define brag swizzle(glm::Z, glm::X, glm::W, glm::Y)
|
|
|
+#define arag swizzle(glm::W, glm::X, glm::W, glm::Y)
|
|
|
+#define rgag swizzle(glm::X, glm::Y, glm::W, glm::Y)
|
|
|
+#define ggag swizzle(glm::Y, glm::Y, glm::W, glm::Y)
|
|
|
+#define bgag swizzle(glm::Z, glm::Y, glm::W, glm::Y)
|
|
|
+#define agag swizzle(glm::W, glm::Y, glm::W, glm::Y)
|
|
|
+#define rbag swizzle(glm::X, glm::Z, glm::W, glm::Y)
|
|
|
+#define gbag swizzle(glm::Y, glm::Z, glm::W, glm::Y)
|
|
|
+#define bbag swizzle(glm::Z, glm::Z, glm::W, glm::Y)
|
|
|
+#define abag swizzle(glm::W, glm::Z, glm::W, glm::Y)
|
|
|
+#define raag swizzle(glm::X, glm::W, glm::W, glm::Y)
|
|
|
+#define gaag swizzle(glm::Y, glm::W, glm::W, glm::Y)
|
|
|
+#define baag swizzle(glm::Z, glm::W, glm::W, glm::Y)
|
|
|
+#define aaag swizzle(glm::W, glm::W, glm::W, glm::Y)
|
|
|
+#define rrrb swizzle(glm::X, glm::X, glm::X, glm::Z)
|
|
|
+#define grrb swizzle(glm::Y, glm::X, glm::X, glm::Z)
|
|
|
+#define brrb swizzle(glm::Z, glm::X, glm::X, glm::Z)
|
|
|
+#define arrb swizzle(glm::W, glm::X, glm::X, glm::Z)
|
|
|
+#define rgrb swizzle(glm::X, glm::Y, glm::X, glm::Z)
|
|
|
+#define ggrb swizzle(glm::Y, glm::Y, glm::X, glm::Z)
|
|
|
+#define bgrb swizzle(glm::Z, glm::Y, glm::X, glm::Z)
|
|
|
+#define agrb swizzle(glm::W, glm::Y, glm::X, glm::Z)
|
|
|
+#define rbrb swizzle(glm::X, glm::Z, glm::X, glm::Z)
|
|
|
+#define gbrb swizzle(glm::Y, glm::Z, glm::X, glm::Z)
|
|
|
+#define bbrb swizzle(glm::Z, glm::Z, glm::X, glm::Z)
|
|
|
+#define abrb swizzle(glm::W, glm::Z, glm::X, glm::Z)
|
|
|
+#define rarb swizzle(glm::X, glm::W, glm::X, glm::Z)
|
|
|
+#define garb swizzle(glm::Y, glm::W, glm::X, glm::Z)
|
|
|
+#define barb swizzle(glm::Z, glm::W, glm::X, glm::Z)
|
|
|
+#define aarb swizzle(glm::W, glm::W, glm::X, glm::Z)
|
|
|
+#define rrgb swizzle(glm::X, glm::X, glm::Y, glm::Z)
|
|
|
+#define grgb swizzle(glm::Y, glm::X, glm::Y, glm::Z)
|
|
|
+#define brgb swizzle(glm::Z, glm::X, glm::Y, glm::Z)
|
|
|
+#define argb swizzle(glm::W, glm::X, glm::Y, glm::Z)
|
|
|
+#define rggb swizzle(glm::X, glm::Y, glm::Y, glm::Z)
|
|
|
+#define gggb swizzle(glm::Y, glm::Y, glm::Y, glm::Z)
|
|
|
+#define bggb swizzle(glm::Z, glm::Y, glm::Y, glm::Z)
|
|
|
+#define aggb swizzle(glm::W, glm::Y, glm::Y, glm::Z)
|
|
|
+#define rbgb swizzle(glm::X, glm::Z, glm::Y, glm::Z)
|
|
|
+#define gbgb swizzle(glm::Y, glm::Z, glm::Y, glm::Z)
|
|
|
+#define bbgb swizzle(glm::Z, glm::Z, glm::Y, glm::Z)
|
|
|
+#define abgb swizzle(glm::W, glm::Z, glm::Y, glm::Z)
|
|
|
+#define ragb swizzle(glm::X, glm::W, glm::Y, glm::Z)
|
|
|
+#define gagb swizzle(glm::Y, glm::W, glm::Y, glm::Z)
|
|
|
+#define bagb swizzle(glm::Z, glm::W, glm::Y, glm::Z)
|
|
|
+#define aagb swizzle(glm::W, glm::W, glm::Y, glm::Z)
|
|
|
+#define rrbb swizzle(glm::X, glm::X, glm::Z, glm::Z)
|
|
|
+#define grbb swizzle(glm::Y, glm::X, glm::Z, glm::Z)
|
|
|
+#define brbb swizzle(glm::Z, glm::X, glm::Z, glm::Z)
|
|
|
+#define arbb swizzle(glm::W, glm::X, glm::Z, glm::Z)
|
|
|
+#define rgbb swizzle(glm::X, glm::Y, glm::Z, glm::Z)
|
|
|
+#define ggbb swizzle(glm::Y, glm::Y, glm::Z, glm::Z)
|
|
|
+#define bgbb swizzle(glm::Z, glm::Y, glm::Z, glm::Z)
|
|
|
+#define agbb swizzle(glm::W, glm::Y, glm::Z, glm::Z)
|
|
|
+#define rbbb swizzle(glm::X, glm::Z, glm::Z, glm::Z)
|
|
|
+#define gbbb swizzle(glm::Y, glm::Z, glm::Z, glm::Z)
|
|
|
+#define bbbb swizzle(glm::Z, glm::Z, glm::Z, glm::Z)
|
|
|
+#define abbb swizzle(glm::W, glm::Z, glm::Z, glm::Z)
|
|
|
+#define rabb swizzle(glm::X, glm::W, glm::Z, glm::Z)
|
|
|
+#define gabb swizzle(glm::Y, glm::W, glm::Z, glm::Z)
|
|
|
+#define babb swizzle(glm::Z, glm::W, glm::Z, glm::Z)
|
|
|
+#define aabb swizzle(glm::W, glm::W, glm::Z, glm::Z)
|
|
|
+#define rrab swizzle(glm::X, glm::X, glm::W, glm::Z)
|
|
|
+#define grab swizzle(glm::Y, glm::X, glm::W, glm::Z)
|
|
|
+#define brab swizzle(glm::Z, glm::X, glm::W, glm::Z)
|
|
|
+#define arab swizzle(glm::W, glm::X, glm::W, glm::Z)
|
|
|
+#define rgab swizzle(glm::X, glm::Y, glm::W, glm::Z)
|
|
|
+#define ggab swizzle(glm::Y, glm::Y, glm::W, glm::Z)
|
|
|
+#define bgab swizzle(glm::Z, glm::Y, glm::W, glm::Z)
|
|
|
+#define agab swizzle(glm::W, glm::Y, glm::W, glm::Z)
|
|
|
+#define rbab swizzle(glm::X, glm::Z, glm::W, glm::Z)
|
|
|
+#define gbab swizzle(glm::Y, glm::Z, glm::W, glm::Z)
|
|
|
+#define bbab swizzle(glm::Z, glm::Z, glm::W, glm::Z)
|
|
|
+#define abab swizzle(glm::W, glm::Z, glm::W, glm::Z)
|
|
|
+#define raab swizzle(glm::X, glm::W, glm::W, glm::Z)
|
|
|
+#define gaab swizzle(glm::Y, glm::W, glm::W, glm::Z)
|
|
|
+#define baab swizzle(glm::Z, glm::W, glm::W, glm::Z)
|
|
|
+#define aaab swizzle(glm::W, glm::W, glm::W, glm::Z)
|
|
|
+#define rrra swizzle(glm::X, glm::X, glm::X, glm::W)
|
|
|
+#define grra swizzle(glm::Y, glm::X, glm::X, glm::W)
|
|
|
+#define brra swizzle(glm::Z, glm::X, glm::X, glm::W)
|
|
|
+#define arra swizzle(glm::W, glm::X, glm::X, glm::W)
|
|
|
+#define rgra swizzle(glm::X, glm::Y, glm::X, glm::W)
|
|
|
+#define ggra swizzle(glm::Y, glm::Y, glm::X, glm::W)
|
|
|
+#define bgra swizzle(glm::Z, glm::Y, glm::X, glm::W)
|
|
|
+#define agra swizzle(glm::W, glm::Y, glm::X, glm::W)
|
|
|
+#define rbra swizzle(glm::X, glm::Z, glm::X, glm::W)
|
|
|
+#define gbra swizzle(glm::Y, glm::Z, glm::X, glm::W)
|
|
|
+#define bbra swizzle(glm::Z, glm::Z, glm::X, glm::W)
|
|
|
+#define abra swizzle(glm::W, glm::Z, glm::X, glm::W)
|
|
|
+#define rara swizzle(glm::X, glm::W, glm::X, glm::W)
|
|
|
+#define gara swizzle(glm::Y, glm::W, glm::X, glm::W)
|
|
|
+#define bara swizzle(glm::Z, glm::W, glm::X, glm::W)
|
|
|
+#define aara swizzle(glm::W, glm::W, glm::X, glm::W)
|
|
|
+#define rrga swizzle(glm::X, glm::X, glm::Y, glm::W)
|
|
|
+#define grga swizzle(glm::Y, glm::X, glm::Y, glm::W)
|
|
|
+#define brga swizzle(glm::Z, glm::X, glm::Y, glm::W)
|
|
|
+#define arga swizzle(glm::W, glm::X, glm::Y, glm::W)
|
|
|
+#define rgga swizzle(glm::X, glm::Y, glm::Y, glm::W)
|
|
|
+#define ggga swizzle(glm::Y, glm::Y, glm::Y, glm::W)
|
|
|
+#define bgga swizzle(glm::Z, glm::Y, glm::Y, glm::W)
|
|
|
+#define agga swizzle(glm::W, glm::Y, glm::Y, glm::W)
|
|
|
+#define rbga swizzle(glm::X, glm::Z, glm::Y, glm::W)
|
|
|
+#define gbga swizzle(glm::Y, glm::Z, glm::Y, glm::W)
|
|
|
+#define bbga swizzle(glm::Z, glm::Z, glm::Y, glm::W)
|
|
|
+#define abga swizzle(glm::W, glm::Z, glm::Y, glm::W)
|
|
|
+#define raga swizzle(glm::X, glm::W, glm::Y, glm::W)
|
|
|
+#define gaga swizzle(glm::Y, glm::W, glm::Y, glm::W)
|
|
|
+#define baga swizzle(glm::Z, glm::W, glm::Y, glm::W)
|
|
|
+#define aaga swizzle(glm::W, glm::W, glm::Y, glm::W)
|
|
|
+#define rrba swizzle(glm::X, glm::X, glm::Z, glm::W)
|
|
|
+#define grba swizzle(glm::Y, glm::X, glm::Z, glm::W)
|
|
|
+#define brba swizzle(glm::Z, glm::X, glm::Z, glm::W)
|
|
|
+#define arba swizzle(glm::W, glm::X, glm::Z, glm::W)
|
|
|
+#define rgba swizzle(glm::X, glm::Y, glm::Z, glm::W)
|
|
|
+#define ggba swizzle(glm::Y, glm::Y, glm::Z, glm::W)
|
|
|
+#define bgba swizzle(glm::Z, glm::Y, glm::Z, glm::W)
|
|
|
+#define agba swizzle(glm::W, glm::Y, glm::Z, glm::W)
|
|
|
+#define rbba swizzle(glm::X, glm::Z, glm::Z, glm::W)
|
|
|
+#define gbba swizzle(glm::Y, glm::Z, glm::Z, glm::W)
|
|
|
+#define bbba swizzle(glm::Z, glm::Z, glm::Z, glm::W)
|
|
|
+#define abba swizzle(glm::W, glm::Z, glm::Z, glm::W)
|
|
|
+#define raba swizzle(glm::X, glm::W, glm::Z, glm::W)
|
|
|
+#define gaba swizzle(glm::Y, glm::W, glm::Z, glm::W)
|
|
|
+#define baba swizzle(glm::Z, glm::W, glm::Z, glm::W)
|
|
|
+#define aaba swizzle(glm::W, glm::W, glm::Z, glm::W)
|
|
|
+#define rraa swizzle(glm::X, glm::X, glm::W, glm::W)
|
|
|
+#define graa swizzle(glm::Y, glm::X, glm::W, glm::W)
|
|
|
+#define braa swizzle(glm::Z, glm::X, glm::W, glm::W)
|
|
|
+#define araa swizzle(glm::W, glm::X, glm::W, glm::W)
|
|
|
+#define rgaa swizzle(glm::X, glm::Y, glm::W, glm::W)
|
|
|
+#define ggaa swizzle(glm::Y, glm::Y, glm::W, glm::W)
|
|
|
+#define bgaa swizzle(glm::Z, glm::Y, glm::W, glm::W)
|
|
|
+#define agaa swizzle(glm::W, glm::Y, glm::W, glm::W)
|
|
|
+#define rbaa swizzle(glm::X, glm::Z, glm::W, glm::W)
|
|
|
+#define gbaa swizzle(glm::Y, glm::Z, glm::W, glm::W)
|
|
|
+#define bbaa swizzle(glm::Z, glm::Z, glm::W, glm::W)
|
|
|
+#define abaa swizzle(glm::W, glm::Z, glm::W, glm::W)
|
|
|
+#define raaa swizzle(glm::X, glm::W, glm::W, glm::W)
|
|
|
+#define gaaa swizzle(glm::Y, glm::W, glm::W, glm::W)
|
|
|
+#define baaa swizzle(glm::Z, glm::W, glm::W, glm::W)
|
|
|
+#define aaaa swizzle(glm::W, glm::W, glm::W, glm::W)
|
|
|
+
|
|
|
+#endif//defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_RGBA)
|
|
|
+
|
|
|
+#if defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_STPQ)
|
|
|
+
|
|
|
+#define ssss swizzle(glm::X, glm::X, glm::X, glm::X)
|
|
|
+#define tsss swizzle(glm::Y, glm::X, glm::X, glm::X)
|
|
|
+#define psss swizzle(glm::Z, glm::X, glm::X, glm::X)
|
|
|
+#define qsss swizzle(glm::W, glm::X, glm::X, glm::X)
|
|
|
+#define stss swizzle(glm::X, glm::Y, glm::X, glm::X)
|
|
|
+#define ttss swizzle(glm::Y, glm::Y, glm::X, glm::X)
|
|
|
+#define ptss swizzle(glm::Z, glm::Y, glm::X, glm::X)
|
|
|
+#define qtss swizzle(glm::W, glm::Y, glm::X, glm::X)
|
|
|
+#define spss swizzle(glm::X, glm::Z, glm::X, glm::X)
|
|
|
+#define tpss swizzle(glm::Y, glm::Z, glm::X, glm::X)
|
|
|
+#define ppss swizzle(glm::Z, glm::Z, glm::X, glm::X)
|
|
|
+#define qpss swizzle(glm::W, glm::Z, glm::X, glm::X)
|
|
|
+#define sqss swizzle(glm::X, glm::W, glm::X, glm::X)
|
|
|
+#define tqss swizzle(glm::Y, glm::W, glm::X, glm::X)
|
|
|
+#define pqss swizzle(glm::Z, glm::W, glm::X, glm::X)
|
|
|
+#define qqss swizzle(glm::W, glm::W, glm::X, glm::X)
|
|
|
+#define ssts swizzle(glm::X, glm::X, glm::Y, glm::X)
|
|
|
+#define tsts swizzle(glm::Y, glm::X, glm::Y, glm::X)
|
|
|
+#define psts swizzle(glm::Z, glm::X, glm::Y, glm::X)
|
|
|
+#define qsts swizzle(glm::W, glm::X, glm::Y, glm::X)
|
|
|
+#define stts swizzle(glm::X, glm::Y, glm::Y, glm::X)
|
|
|
+#define ttts swizzle(glm::Y, glm::Y, glm::Y, glm::X)
|
|
|
+#define ptts swizzle(glm::Z, glm::Y, glm::Y, glm::X)
|
|
|
+#define qtts swizzle(glm::W, glm::Y, glm::Y, glm::X)
|
|
|
+#define spts swizzle(glm::X, glm::Z, glm::Y, glm::X)
|
|
|
+#define tpts swizzle(glm::Y, glm::Z, glm::Y, glm::X)
|
|
|
+#define ppts swizzle(glm::Z, glm::Z, glm::Y, glm::X)
|
|
|
+#define qpts swizzle(glm::W, glm::Z, glm::Y, glm::X)
|
|
|
+#define sqts swizzle(glm::X, glm::W, glm::Y, glm::X)
|
|
|
+#define tqts swizzle(glm::Y, glm::W, glm::Y, glm::X)
|
|
|
+#define pqts swizzle(glm::Z, glm::W, glm::Y, glm::X)
|
|
|
+#define qqts swizzle(glm::W, glm::W, glm::Y, glm::X)
|
|
|
+#define ssps swizzle(glm::X, glm::X, glm::Z, glm::X)
|
|
|
+#define tsps swizzle(glm::Y, glm::X, glm::Z, glm::X)
|
|
|
+#define psps swizzle(glm::Z, glm::X, glm::Z, glm::X)
|
|
|
+#define qsps swizzle(glm::W, glm::X, glm::Z, glm::X)
|
|
|
+#define stps swizzle(glm::X, glm::Y, glm::Z, glm::X)
|
|
|
+#define ttps swizzle(glm::Y, glm::Y, glm::Z, glm::X)
|
|
|
+#define ptps swizzle(glm::Z, glm::Y, glm::Z, glm::X)
|
|
|
+#define qtps swizzle(glm::W, glm::Y, glm::Z, glm::X)
|
|
|
+#define spps swizzle(glm::X, glm::Z, glm::Z, glm::X)
|
|
|
+#define tpps swizzle(glm::Y, glm::Z, glm::Z, glm::X)
|
|
|
+#define ppps swizzle(glm::Z, glm::Z, glm::Z, glm::X)
|
|
|
+#define qpps swizzle(glm::W, glm::Z, glm::Z, glm::X)
|
|
|
+#define sqps swizzle(glm::X, glm::W, glm::Z, glm::X)
|
|
|
+#define tqps swizzle(glm::Y, glm::W, glm::Z, glm::X)
|
|
|
+#define pqps swizzle(glm::Z, glm::W, glm::Z, glm::X)
|
|
|
+#define qqps swizzle(glm::W, glm::W, glm::Z, glm::X)
|
|
|
+#define ssqs swizzle(glm::X, glm::X, glm::W, glm::X)
|
|
|
+#define tsqs swizzle(glm::Y, glm::X, glm::W, glm::X)
|
|
|
+#define psqs swizzle(glm::Z, glm::X, glm::W, glm::X)
|
|
|
+#define qsqs swizzle(glm::W, glm::X, glm::W, glm::X)
|
|
|
+#define stqs swizzle(glm::X, glm::Y, glm::W, glm::X)
|
|
|
+#define ttqs swizzle(glm::Y, glm::Y, glm::W, glm::X)
|
|
|
+#define ptqs swizzle(glm::Z, glm::Y, glm::W, glm::X)
|
|
|
+#define qtqs swizzle(glm::W, glm::Y, glm::W, glm::X)
|
|
|
+#define spqs swizzle(glm::X, glm::Z, glm::W, glm::X)
|
|
|
+#define tpqs swizzle(glm::Y, glm::Z, glm::W, glm::X)
|
|
|
+#define ppqs swizzle(glm::Z, glm::Z, glm::W, glm::X)
|
|
|
+#define qpqs swizzle(glm::W, glm::Z, glm::W, glm::X)
|
|
|
+#define sqqs swizzle(glm::X, glm::W, glm::W, glm::X)
|
|
|
+#define tqqs swizzle(glm::Y, glm::W, glm::W, glm::X)
|
|
|
+#define pqqs swizzle(glm::Z, glm::W, glm::W, glm::X)
|
|
|
+#define qqqs swizzle(glm::W, glm::W, glm::W, glm::X)
|
|
|
+#define ssst swizzle(glm::X, glm::X, glm::X, glm::Y)
|
|
|
+#define tsst swizzle(glm::Y, glm::X, glm::X, glm::Y)
|
|
|
+#define psst swizzle(glm::Z, glm::X, glm::X, glm::Y)
|
|
|
+#define qsst swizzle(glm::W, glm::X, glm::X, glm::Y)
|
|
|
+#define stst swizzle(glm::X, glm::Y, glm::X, glm::Y)
|
|
|
+#define ttst swizzle(glm::Y, glm::Y, glm::X, glm::Y)
|
|
|
+#define ptst swizzle(glm::Z, glm::Y, glm::X, glm::Y)
|
|
|
+#define qtst swizzle(glm::W, glm::Y, glm::X, glm::Y)
|
|
|
+#define spst swizzle(glm::X, glm::Z, glm::X, glm::Y)
|
|
|
+#define tpst swizzle(glm::Y, glm::Z, glm::X, glm::Y)
|
|
|
+#define ppst swizzle(glm::Z, glm::Z, glm::X, glm::Y)
|
|
|
+#define qpst swizzle(glm::W, glm::Z, glm::X, glm::Y)
|
|
|
+#define sqst swizzle(glm::X, glm::W, glm::X, glm::Y)
|
|
|
+#define tqst swizzle(glm::Y, glm::W, glm::X, glm::Y)
|
|
|
+#define pqst swizzle(glm::Z, glm::W, glm::X, glm::Y)
|
|
|
+#define qqst swizzle(glm::W, glm::W, glm::X, glm::Y)
|
|
|
+#define sstt swizzle(glm::X, glm::X, glm::Y, glm::Y)
|
|
|
+#define tstt swizzle(glm::Y, glm::X, glm::Y, glm::Y)
|
|
|
+#define pstt swizzle(glm::Z, glm::X, glm::Y, glm::Y)
|
|
|
+#define qstt swizzle(glm::W, glm::X, glm::Y, glm::Y)
|
|
|
+#define sttt swizzle(glm::X, glm::Y, glm::Y, glm::Y)
|
|
|
+#define tttt swizzle(glm::Y, glm::Y, glm::Y, glm::Y)
|
|
|
+#define pttt swizzle(glm::Z, glm::Y, glm::Y, glm::Y)
|
|
|
+#define qttt swizzle(glm::W, glm::Y, glm::Y, glm::Y)
|
|
|
+#define sptt swizzle(glm::X, glm::Z, glm::Y, glm::Y)
|
|
|
+#define tptt swizzle(glm::Y, glm::Z, glm::Y, glm::Y)
|
|
|
+#define pptt swizzle(glm::Z, glm::Z, glm::Y, glm::Y)
|
|
|
+#define qptt swizzle(glm::W, glm::Z, glm::Y, glm::Y)
|
|
|
+#define sqtt swizzle(glm::X, glm::W, glm::Y, glm::Y)
|
|
|
+#define tqtt swizzle(glm::Y, glm::W, glm::Y, glm::Y)
|
|
|
+#define pqtt swizzle(glm::Z, glm::W, glm::Y, glm::Y)
|
|
|
+#define qqtt swizzle(glm::W, glm::W, glm::Y, glm::Y)
|
|
|
+#define sspt swizzle(glm::X, glm::X, glm::Z, glm::Y)
|
|
|
+#define tspt swizzle(glm::Y, glm::X, glm::Z, glm::Y)
|
|
|
+#define pspt swizzle(glm::Z, glm::X, glm::Z, glm::Y)
|
|
|
+#define qspt swizzle(glm::W, glm::X, glm::Z, glm::Y)
|
|
|
+#define stpt swizzle(glm::X, glm::Y, glm::Z, glm::Y)
|
|
|
+#define ttpt swizzle(glm::Y, glm::Y, glm::Z, glm::Y)
|
|
|
+#define ptpt swizzle(glm::Z, glm::Y, glm::Z, glm::Y)
|
|
|
+#define qtpt swizzle(glm::W, glm::Y, glm::Z, glm::Y)
|
|
|
+#define sppt swizzle(glm::X, glm::Z, glm::Z, glm::Y)
|
|
|
+#define tppt swizzle(glm::Y, glm::Z, glm::Z, glm::Y)
|
|
|
+#define pppt swizzle(glm::Z, glm::Z, glm::Z, glm::Y)
|
|
|
+#define qppt swizzle(glm::W, glm::Z, glm::Z, glm::Y)
|
|
|
+#define sqpt swizzle(glm::X, glm::W, glm::Z, glm::Y)
|
|
|
+#define tqpt swizzle(glm::Y, glm::W, glm::Z, glm::Y)
|
|
|
+#define pqpt swizzle(glm::Z, glm::W, glm::Z, glm::Y)
|
|
|
+#define qqpt swizzle(glm::W, glm::W, glm::Z, glm::Y)
|
|
|
+#define ssqt swizzle(glm::X, glm::X, glm::W, glm::Y)
|
|
|
+#define tsqt swizzle(glm::Y, glm::X, glm::W, glm::Y)
|
|
|
+#define psqt swizzle(glm::Z, glm::X, glm::W, glm::Y)
|
|
|
+#define qsqt swizzle(glm::W, glm::X, glm::W, glm::Y)
|
|
|
+#define stqt swizzle(glm::X, glm::Y, glm::W, glm::Y)
|
|
|
+#define ttqt swizzle(glm::Y, glm::Y, glm::W, glm::Y)
|
|
|
+#define ptqt swizzle(glm::Z, glm::Y, glm::W, glm::Y)
|
|
|
+#define qtqt swizzle(glm::W, glm::Y, glm::W, glm::Y)
|
|
|
+#define spqt swizzle(glm::X, glm::Z, glm::W, glm::Y)
|
|
|
+#define tpqt swizzle(glm::Y, glm::Z, glm::W, glm::Y)
|
|
|
+#define ppqt swizzle(glm::Z, glm::Z, glm::W, glm::Y)
|
|
|
+#define qpqt swizzle(glm::W, glm::Z, glm::W, glm::Y)
|
|
|
+#define sqqt swizzle(glm::X, glm::W, glm::W, glm::Y)
|
|
|
+#define tqqt swizzle(glm::Y, glm::W, glm::W, glm::Y)
|
|
|
+#define pqqt swizzle(glm::Z, glm::W, glm::W, glm::Y)
|
|
|
+#define qqqt swizzle(glm::W, glm::W, glm::W, glm::Y)
|
|
|
+#define sssp swizzle(glm::X, glm::X, glm::X, glm::Z)
|
|
|
+#define tssp swizzle(glm::Y, glm::X, glm::X, glm::Z)
|
|
|
+#define pssp swizzle(glm::Z, glm::X, glm::X, glm::Z)
|
|
|
+#define qssp swizzle(glm::W, glm::X, glm::X, glm::Z)
|
|
|
+#define stsp swizzle(glm::X, glm::Y, glm::X, glm::Z)
|
|
|
+#define ttsp swizzle(glm::Y, glm::Y, glm::X, glm::Z)
|
|
|
+#define ptsp swizzle(glm::Z, glm::Y, glm::X, glm::Z)
|
|
|
+#define qtsp swizzle(glm::W, glm::Y, glm::X, glm::Z)
|
|
|
+#define spsp swizzle(glm::X, glm::Z, glm::X, glm::Z)
|
|
|
+#define tpsp swizzle(glm::Y, glm::Z, glm::X, glm::Z)
|
|
|
+#define ppsp swizzle(glm::Z, glm::Z, glm::X, glm::Z)
|
|
|
+#define qpsp swizzle(glm::W, glm::Z, glm::X, glm::Z)
|
|
|
+#define sqsp swizzle(glm::X, glm::W, glm::X, glm::Z)
|
|
|
+#define tqsp swizzle(glm::Y, glm::W, glm::X, glm::Z)
|
|
|
+#define pqsp swizzle(glm::Z, glm::W, glm::X, glm::Z)
|
|
|
+#define qqsp swizzle(glm::W, glm::W, glm::X, glm::Z)
|
|
|
+#define sstp swizzle(glm::X, glm::X, glm::Y, glm::Z)
|
|
|
+#define tstp swizzle(glm::Y, glm::X, glm::Y, glm::Z)
|
|
|
+#define pstp swizzle(glm::Z, glm::X, glm::Y, glm::Z)
|
|
|
+#define qstp swizzle(glm::W, glm::X, glm::Y, glm::Z)
|
|
|
+#define sttp swizzle(glm::X, glm::Y, glm::Y, glm::Z)
|
|
|
+#define tttp swizzle(glm::Y, glm::Y, glm::Y, glm::Z)
|
|
|
+#define pttp swizzle(glm::Z, glm::Y, glm::Y, glm::Z)
|
|
|
+#define qttp swizzle(glm::W, glm::Y, glm::Y, glm::Z)
|
|
|
+#define sptp swizzle(glm::X, glm::Z, glm::Y, glm::Z)
|
|
|
+#define tptp swizzle(glm::Y, glm::Z, glm::Y, glm::Z)
|
|
|
+#define pptp swizzle(glm::Z, glm::Z, glm::Y, glm::Z)
|
|
|
+#define qptp swizzle(glm::W, glm::Z, glm::Y, glm::Z)
|
|
|
+#define sqtp swizzle(glm::X, glm::W, glm::Y, glm::Z)
|
|
|
+#define tqtp swizzle(glm::Y, glm::W, glm::Y, glm::Z)
|
|
|
+#define pqtp swizzle(glm::Z, glm::W, glm::Y, glm::Z)
|
|
|
+#define qqtp swizzle(glm::W, glm::W, glm::Y, glm::Z)
|
|
|
+#define sspp swizzle(glm::X, glm::X, glm::Z, glm::Z)
|
|
|
+#define tspp swizzle(glm::Y, glm::X, glm::Z, glm::Z)
|
|
|
+#define pspp swizzle(glm::Z, glm::X, glm::Z, glm::Z)
|
|
|
+#define qspp swizzle(glm::W, glm::X, glm::Z, glm::Z)
|
|
|
+#define stpp swizzle(glm::X, glm::Y, glm::Z, glm::Z)
|
|
|
+#define ttpp swizzle(glm::Y, glm::Y, glm::Z, glm::Z)
|
|
|
+#define ptpp swizzle(glm::Z, glm::Y, glm::Z, glm::Z)
|
|
|
+#define qtpp swizzle(glm::W, glm::Y, glm::Z, glm::Z)
|
|
|
+#define sppp swizzle(glm::X, glm::Z, glm::Z, glm::Z)
|
|
|
+#define tppp swizzle(glm::Y, glm::Z, glm::Z, glm::Z)
|
|
|
+#define pppp swizzle(glm::Z, glm::Z, glm::Z, glm::Z)
|
|
|
+#define qppp swizzle(glm::W, glm::Z, glm::Z, glm::Z)
|
|
|
+#define sqpp swizzle(glm::X, glm::W, glm::Z, glm::Z)
|
|
|
+#define tqpp swizzle(glm::Y, glm::W, glm::Z, glm::Z)
|
|
|
+#define pqpp swizzle(glm::Z, glm::W, glm::Z, glm::Z)
|
|
|
+#define qqpp swizzle(glm::W, glm::W, glm::Z, glm::Z)
|
|
|
+#define ssqp swizzle(glm::X, glm::X, glm::W, glm::Z)
|
|
|
+#define tsqp swizzle(glm::Y, glm::X, glm::W, glm::Z)
|
|
|
+#define psqp swizzle(glm::Z, glm::X, glm::W, glm::Z)
|
|
|
+#define qsqp swizzle(glm::W, glm::X, glm::W, glm::Z)
|
|
|
+#define stqp swizzle(glm::X, glm::Y, glm::W, glm::Z)
|
|
|
+#define ttqp swizzle(glm::Y, glm::Y, glm::W, glm::Z)
|
|
|
+#define ptqp swizzle(glm::Z, glm::Y, glm::W, glm::Z)
|
|
|
+#define qtqp swizzle(glm::W, glm::Y, glm::W, glm::Z)
|
|
|
+#define spqp swizzle(glm::X, glm::Z, glm::W, glm::Z)
|
|
|
+#define tpqp swizzle(glm::Y, glm::Z, glm::W, glm::Z)
|
|
|
+#define ppqp swizzle(glm::Z, glm::Z, glm::W, glm::Z)
|
|
|
+#define qpqp swizzle(glm::W, glm::Z, glm::W, glm::Z)
|
|
|
+#define sqqp swizzle(glm::X, glm::W, glm::W, glm::Z)
|
|
|
+#define tqqp swizzle(glm::Y, glm::W, glm::W, glm::Z)
|
|
|
+#define pqqp swizzle(glm::Z, glm::W, glm::W, glm::Z)
|
|
|
+#define qqqp swizzle(glm::W, glm::W, glm::W, glm::Z)
|
|
|
+#define sssq swizzle(glm::X, glm::X, glm::X, glm::W)
|
|
|
+#define tssq swizzle(glm::Y, glm::X, glm::X, glm::W)
|
|
|
+#define pssq swizzle(glm::Z, glm::X, glm::X, glm::W)
|
|
|
+#define qssq swizzle(glm::W, glm::X, glm::X, glm::W)
|
|
|
+#define stsq swizzle(glm::X, glm::Y, glm::X, glm::W)
|
|
|
+#define ttsq swizzle(glm::Y, glm::Y, glm::X, glm::W)
|
|
|
+#define ptsq swizzle(glm::Z, glm::Y, glm::X, glm::W)
|
|
|
+#define qtsq swizzle(glm::W, glm::Y, glm::X, glm::W)
|
|
|
+#define spsq swizzle(glm::X, glm::Z, glm::X, glm::W)
|
|
|
+#define tpsq swizzle(glm::Y, glm::Z, glm::X, glm::W)
|
|
|
+#define ppsq swizzle(glm::Z, glm::Z, glm::X, glm::W)
|
|
|
+#define qpsq swizzle(glm::W, glm::Z, glm::X, glm::W)
|
|
|
+#define sqsq swizzle(glm::X, glm::W, glm::X, glm::W)
|
|
|
+#define tqsq swizzle(glm::Y, glm::W, glm::X, glm::W)
|
|
|
+#define pqsq swizzle(glm::Z, glm::W, glm::X, glm::W)
|
|
|
+#define qqsq swizzle(glm::W, glm::W, glm::X, glm::W)
|
|
|
+#define sstq swizzle(glm::X, glm::X, glm::Y, glm::W)
|
|
|
+#define tstq swizzle(glm::Y, glm::X, glm::Y, glm::W)
|
|
|
+#define pstq swizzle(glm::Z, glm::X, glm::Y, glm::W)
|
|
|
+#define qstq swizzle(glm::W, glm::X, glm::Y, glm::W)
|
|
|
+#define sttq swizzle(glm::X, glm::Y, glm::Y, glm::W)
|
|
|
+#define tttq swizzle(glm::Y, glm::Y, glm::Y, glm::W)
|
|
|
+#define pttq swizzle(glm::Z, glm::Y, glm::Y, glm::W)
|
|
|
+#define qttq swizzle(glm::W, glm::Y, glm::Y, glm::W)
|
|
|
+#define sptq swizzle(glm::X, glm::Z, glm::Y, glm::W)
|
|
|
+#define tptq swizzle(glm::Y, glm::Z, glm::Y, glm::W)
|
|
|
+#define pptq swizzle(glm::Z, glm::Z, glm::Y, glm::W)
|
|
|
+#define qptq swizzle(glm::W, glm::Z, glm::Y, glm::W)
|
|
|
+#define sqtq swizzle(glm::X, glm::W, glm::Y, glm::W)
|
|
|
+#define tqtq swizzle(glm::Y, glm::W, glm::Y, glm::W)
|
|
|
+#define pqtq swizzle(glm::Z, glm::W, glm::Y, glm::W)
|
|
|
+#define qqtq swizzle(glm::W, glm::W, glm::Y, glm::W)
|
|
|
+#define sspq swizzle(glm::X, glm::X, glm::Z, glm::W)
|
|
|
+#define tspq swizzle(glm::Y, glm::X, glm::Z, glm::W)
|
|
|
+#define pspq swizzle(glm::Z, glm::X, glm::Z, glm::W)
|
|
|
+#define qspq swizzle(glm::W, glm::X, glm::Z, glm::W)
|
|
|
+#define stpq swizzle(glm::X, glm::Y, glm::Z, glm::W)
|
|
|
+#define ttpq swizzle(glm::Y, glm::Y, glm::Z, glm::W)
|
|
|
+#define ptpq swizzle(glm::Z, glm::Y, glm::Z, glm::W)
|
|
|
+#define qtpq swizzle(glm::W, glm::Y, glm::Z, glm::W)
|
|
|
+#define sppq swizzle(glm::X, glm::Z, glm::Z, glm::W)
|
|
|
+#define tppq swizzle(glm::Y, glm::Z, glm::Z, glm::W)
|
|
|
+#define pppq swizzle(glm::Z, glm::Z, glm::Z, glm::W)
|
|
|
+#define qppq swizzle(glm::W, glm::Z, glm::Z, glm::W)
|
|
|
+#define sqpq swizzle(glm::X, glm::W, glm::Z, glm::W)
|
|
|
+#define tqpq swizzle(glm::Y, glm::W, glm::Z, glm::W)
|
|
|
+#define pqpq swizzle(glm::Z, glm::W, glm::Z, glm::W)
|
|
|
+#define qqpq swizzle(glm::W, glm::W, glm::Z, glm::W)
|
|
|
+#define ssqq swizzle(glm::X, glm::X, glm::W, glm::W)
|
|
|
+#define tsqq swizzle(glm::Y, glm::X, glm::W, glm::W)
|
|
|
+#define psqq swizzle(glm::Z, glm::X, glm::W, glm::W)
|
|
|
+#define qsqq swizzle(glm::W, glm::X, glm::W, glm::W)
|
|
|
+#define stqq swizzle(glm::X, glm::Y, glm::W, glm::W)
|
|
|
+#define ttqq swizzle(glm::Y, glm::Y, glm::W, glm::W)
|
|
|
+#define ptqq swizzle(glm::Z, glm::Y, glm::W, glm::W)
|
|
|
+#define qtqq swizzle(glm::W, glm::Y, glm::W, glm::W)
|
|
|
+#define spqq swizzle(glm::X, glm::Z, glm::W, glm::W)
|
|
|
+#define tpqq swizzle(glm::Y, glm::Z, glm::W, glm::W)
|
|
|
+#define ppqq swizzle(glm::Z, glm::Z, glm::W, glm::W)
|
|
|
+#define qpqq swizzle(glm::W, glm::Z, glm::W, glm::W)
|
|
|
+#define sqqq swizzle(glm::X, glm::W, glm::W, glm::W)
|
|
|
+#define tqqq swizzle(glm::Y, glm::W, glm::W, glm::W)
|
|
|
+#define pqqq swizzle(glm::Z, glm::W, glm::W, glm::W)
|
|
|
+#define qqqq swizzle(glm::W, glm::W, glm::W, glm::W)
|
|
|
+
|
|
|
+#endif//defined(GLM_SWIZZLE) && (GLM_SWIZZLE & GLM_SWIZZLE_STPQ)
|
|
|
+
|
|
|
+#endif//glm_core_swizzle
|