|
0.9.9 API documentation
|
3 #define GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, CONST, A, B) \ 4 vec<2, T, Q> A ## B() CONST \ 6 return vec<2, T, Q>(this->A, this->B); \ 9 #define GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, CONST, A, B, C) \ 10 vec<3, T, Q> A ## B ## C() CONST \ 12 return vec<3, T, Q>(this->A, this->B, this->C); \ 15 #define GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, CONST, A, B, C, D) \ 16 vec<4, T, Q> A ## B ## C ## D() CONST \ 18 return vec<4, T, Q>(this->A, this->B, this->C, this->D); \ 21 #define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(T, P, L, CONST, A, B) \ 22 template<typename T> \ 23 vec<L, T, Q> vec<L, T, Q>::A ## B() CONST \ 25 return vec<2, T, Q>(this->A, this->B); \ 28 #define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(T, P, L, CONST, A, B, C) \ 29 template<typename T> \ 30 vec<3, T, Q> vec<L, T, Q>::A ## B ## C() CONST \ 32 return vec<3, T, Q>(this->A, this->B, this->C); \ 35 #define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(T, P, L, CONST, A, B, C, D) \ 36 template<typename T> \ 37 vec<4, T, Q> vec<L, T, Q>::A ## B ## C ## D() CONST \ 39 return vec<4, T, Q>(this->A, this->B, this->C, this->D); \ 44 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, A, B) \ 45 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, A, B) \ 46 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, B, A) 48 #define GLM_SWIZZLE_GEN_REF_FROM_VEC2(T, P) \ 49 GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, x, y) \ 50 GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, r, g) \ 51 GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, s, t) 53 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ 54 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \ 55 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \ 56 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \ 57 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \ 58 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \ 59 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B) 61 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ 62 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, B, C) \ 63 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, C, B) \ 64 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, A, C) \ 65 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, C, A) \ 66 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, A, B) \ 67 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, B, A) 69 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, A, B, C) \ 70 GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ 71 GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C) 73 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3(T, P) \ 74 GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, x, y, z) \ 75 GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, r, g, b) \ 76 GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, s, t, p) 78 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 79 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \ 80 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \ 81 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, D) \ 82 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \ 83 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \ 84 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, D) \ 85 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \ 86 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B) \ 87 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, D) \ 88 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, A) \ 89 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, B) \ 90 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, C) 92 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 93 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, C) \ 94 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, D) \ 95 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, B) \ 96 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, D) \ 97 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, B) \ 98 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, C) \ 99 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, C) \ 100 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, D) \ 101 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, A) \ 102 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, D) \ 103 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, A) \ 104 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, C) \ 105 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, B) \ 106 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, D) \ 107 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, A) \ 108 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, D) \ 109 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, A) \ 110 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, B) \ 111 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, B) \ 112 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, C) \ 113 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, A) \ 114 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, C) \ 115 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, A) \ 116 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, B) 118 #define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 119 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, B, D) \ 120 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, D, B) \ 121 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, B, C) \ 122 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, C, B) \ 123 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, D, C) \ 124 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, C, D) \ 125 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, A, D) \ 126 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, D, A) \ 127 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, A, C) \ 128 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, C, A) \ 129 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, D, C) \ 130 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, C, D) \ 131 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, A, D) \ 132 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, D, A) \ 133 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, A, B) \ 134 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, B, A) \ 135 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, D, B) \ 136 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, B, D) \ 137 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, B, A) \ 138 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, A, B) \ 139 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, B, C) \ 140 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, C, B) \ 141 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, A, C) \ 142 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, C, A) 144 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, A, B, C, D) \ 145 GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 146 GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 147 GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) 149 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4(T, P) \ 150 GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, x, y, z, w) \ 151 GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, r, g, b, a) \ 152 GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, s, t, p, q) 154 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \ 155 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \ 156 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \ 157 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \ 158 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) 160 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \ 161 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \ 162 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \ 163 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \ 164 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \ 165 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \ 166 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \ 167 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \ 168 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) 170 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B) \ 171 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \ 172 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \ 173 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \ 174 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \ 175 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \ 176 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \ 177 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \ 178 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \ 179 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \ 180 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \ 181 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \ 182 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \ 183 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \ 184 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \ 185 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \ 186 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) 188 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, A, B) \ 189 GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \ 190 GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \ 191 GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B) 193 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P) \ 194 GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, x, y) \ 195 GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, r, g) \ 196 GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, s, t) 198 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ 199 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \ 200 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \ 201 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \ 202 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \ 203 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \ 204 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \ 205 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \ 206 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \ 207 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C) 209 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ 210 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \ 211 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \ 212 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \ 213 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \ 214 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \ 215 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \ 216 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \ 217 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \ 218 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \ 219 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \ 220 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \ 221 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \ 222 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \ 223 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \ 224 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \ 225 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \ 226 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \ 227 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \ 228 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \ 229 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \ 230 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \ 231 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \ 232 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \ 233 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \ 234 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \ 235 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \ 236 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C) 238 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ 239 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \ 240 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \ 241 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \ 242 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \ 243 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \ 244 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \ 245 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \ 246 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \ 247 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \ 248 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \ 249 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \ 250 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \ 251 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \ 252 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \ 253 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \ 254 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \ 255 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \ 256 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \ 257 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \ 258 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \ 259 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \ 260 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \ 261 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \ 262 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \ 263 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \ 264 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \ 265 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \ 266 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \ 267 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \ 268 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \ 269 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \ 270 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \ 271 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \ 272 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \ 273 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \ 274 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \ 275 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \ 276 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \ 277 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \ 278 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \ 279 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \ 280 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \ 281 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \ 282 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \ 283 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \ 284 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \ 285 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \ 286 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \ 287 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \ 288 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \ 289 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \ 290 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \ 291 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \ 292 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \ 293 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \ 294 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \ 295 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \ 296 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \ 297 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \ 298 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \ 299 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \ 300 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \ 301 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \ 302 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \ 303 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \ 304 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \ 305 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \ 306 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \ 307 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \ 308 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \ 309 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \ 310 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \ 311 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \ 312 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \ 313 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \ 314 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \ 315 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \ 316 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \ 317 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \ 318 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \ 319 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C) 321 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, A, B, C) \ 322 GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ 323 GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ 324 GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C) 326 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P) \ 327 GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, x, y, z) \ 328 GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, r, g, b) \ 329 GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, s, t, p) 331 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 332 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \ 333 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \ 334 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \ 335 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, D) \ 336 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \ 337 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \ 338 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \ 339 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, D) \ 340 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \ 341 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \ 342 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C) \ 343 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, D) \ 344 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, A) \ 345 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, B) \ 346 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, C) \ 347 GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, D) 349 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 350 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \ 351 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \ 352 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \ 353 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, D) \ 354 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \ 355 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \ 356 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \ 357 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, D) \ 358 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \ 359 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \ 360 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \ 361 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, D) \ 362 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, A) \ 363 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, B) \ 364 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, C) \ 365 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, D) \ 366 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \ 367 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \ 368 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \ 369 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, D) \ 370 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \ 371 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \ 372 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \ 373 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, D) \ 374 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \ 375 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \ 376 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \ 377 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, D) \ 378 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, A) \ 379 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, B) \ 380 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, C) \ 381 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, D) \ 382 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \ 383 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \ 384 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \ 385 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, D) \ 386 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \ 387 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \ 388 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \ 389 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, D) \ 390 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \ 391 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \ 392 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C) \ 393 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, D) \ 394 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, A) \ 395 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, B) \ 396 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, C) \ 397 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, D) \ 398 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, A) \ 399 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, B) \ 400 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, C) \ 401 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, D) \ 402 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, A) \ 403 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, B) \ 404 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, C) \ 405 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, D) \ 406 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, A) \ 407 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, B) \ 408 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, C) \ 409 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, D) \ 410 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, A) \ 411 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, B) \ 412 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, C) \ 413 GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, D) 415 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 416 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \ 417 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \ 418 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \ 419 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, D) \ 420 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \ 421 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \ 422 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \ 423 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, D) \ 424 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \ 425 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \ 426 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \ 427 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, D) \ 428 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, A) \ 429 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, B) \ 430 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, C) \ 431 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, D) \ 432 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \ 433 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \ 434 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \ 435 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, D) \ 436 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \ 437 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \ 438 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \ 439 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, D) \ 440 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \ 441 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \ 442 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \ 443 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, D) \ 444 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, A) \ 445 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, B) \ 446 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, C) \ 447 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, D) \ 448 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \ 449 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \ 450 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \ 451 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, D) \ 452 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \ 453 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \ 454 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \ 455 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, D) \ 456 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \ 457 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \ 458 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \ 459 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, D) \ 460 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, A) \ 461 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, B) \ 462 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, C) \ 463 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, D) \ 464 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, A) \ 465 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, B) \ 466 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, C) \ 467 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, D) \ 468 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, A) \ 469 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, B) \ 470 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, C) \ 471 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, D) \ 472 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, A) \ 473 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, B) \ 474 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, C) \ 475 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, D) \ 476 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, A) \ 477 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, B) \ 478 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, C) \ 479 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, D) \ 480 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \ 481 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \ 482 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \ 483 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, D) \ 484 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \ 485 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \ 486 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \ 487 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, D) \ 488 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \ 489 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \ 490 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \ 491 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, D) \ 492 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, A) \ 493 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, B) \ 494 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, C) \ 495 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, D) \ 496 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \ 497 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \ 498 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \ 499 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, D) \ 500 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \ 501 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \ 502 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \ 503 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, D) \ 504 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \ 505 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \ 506 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \ 507 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, D) \ 508 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, A) \ 509 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, B) \ 510 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, C) \ 511 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, D) \ 512 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \ 513 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \ 514 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \ 515 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, D) \ 516 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \ 517 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \ 518 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \ 519 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, D) \ 520 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \ 521 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \ 522 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \ 523 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, D) \ 524 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, A) \ 525 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, B) \ 526 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, C) \ 527 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, D) \ 528 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, A) \ 529 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, B) \ 530 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, C) \ 531 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, D) \ 532 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, A) \ 533 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, B) \ 534 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, C) \ 535 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, D) \ 536 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, A) \ 537 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, B) \ 538 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, C) \ 539 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, D) \ 540 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, A) \ 541 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, B) \ 542 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, C) \ 543 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, D) \ 544 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \ 545 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \ 546 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \ 547 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, D) \ 548 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \ 549 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \ 550 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \ 551 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, D) \ 552 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \ 553 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \ 554 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \ 555 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, D) \ 556 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, A) \ 557 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, B) \ 558 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, C) \ 559 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, D) \ 560 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \ 561 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \ 562 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \ 563 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, D) \ 564 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \ 565 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \ 566 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \ 567 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, D) \ 568 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \ 569 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \ 570 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \ 571 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, D) \ 572 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, A) \ 573 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, B) \ 574 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, C) \ 575 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, D) \ 576 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \ 577 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \ 578 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \ 579 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, D) \ 580 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \ 581 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \ 582 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \ 583 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, D) \ 584 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \ 585 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \ 586 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C) \ 587 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, D) \ 588 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, A) \ 589 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, B) \ 590 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, C) \ 591 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, D) \ 592 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, A) \ 593 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, B) \ 594 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, C) \ 595 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, D) \ 596 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, A) \ 597 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, B) \ 598 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, C) \ 599 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, D) \ 600 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, A) \ 601 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, B) \ 602 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, C) \ 603 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, D) \ 604 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, A) \ 605 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, B) \ 606 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, C) \ 607 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, D) \ 608 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, A) \ 609 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, B) \ 610 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, C) \ 611 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, D) \ 612 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, A) \ 613 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, B) \ 614 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, C) \ 615 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, D) \ 616 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, A) \ 617 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, B) \ 618 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, C) \ 619 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, D) \ 620 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, A) \ 621 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, B) \ 622 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, C) \ 623 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, D) \ 624 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, A) \ 625 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, B) \ 626 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, C) \ 627 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, D) \ 628 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, A) \ 629 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, B) \ 630 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, C) \ 631 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, D) \ 632 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, A) \ 633 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, B) \ 634 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, C) \ 635 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, D) \ 636 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, A) \ 637 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, B) \ 638 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, C) \ 639 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, D) \ 640 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, A) \ 641 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, B) \ 642 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, C) \ 643 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, D) \ 644 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, A) \ 645 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, B) \ 646 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, C) \ 647 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, D) \ 648 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, A) \ 649 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, B) \ 650 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, C) \ 651 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, D) \ 652 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, A) \ 653 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, B) \ 654 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, C) \ 655 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, D) \ 656 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, A) \ 657 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, B) \ 658 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, C) \ 659 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, D) \ 660 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, A) \ 661 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, B) \ 662 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, C) \ 663 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, D) \ 664 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, A) \ 665 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, B) \ 666 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, C) \ 667 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, D) \ 668 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, A) \ 669 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, B) \ 670 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, C) \ 671 GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, D) 673 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, A, B, C, D) \ 674 GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 675 GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ 676 GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) 678 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P) \ 679 GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, x, y, z, w) \ 680 GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, r, g, b, a) \ 681 GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, s, t, p, q)