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