master
ブランチ master
ShaderPlayground / deps / glm / glm / fwd.hpp
26.9 KB、818行 生 Blame 履歴
1#pragma once
2
3#include "detail/qualifier.hpp"
4
5namespace glm
6{
7#if GLM_HAS_EXTENDED_INTEGER_TYPE
8 typedef std::int8_t int8;
9 typedef std::int16_t int16;
10 typedef std::int32_t int32;
11 typedef std::int64_t int64;
12
13 typedef std::uint8_t uint8;
14 typedef std::uint16_t uint16;
15 typedef std::uint32_t uint32;
16 typedef std::uint64_t uint64;
17#else
18 typedef char int8;
19 typedef short int16;
20 typedef int int32;
21 typedef detail::int64 int64;
22
23 typedef unsigned char uint8;
24 typedef unsigned short uint16;
25 typedef unsigned int uint32;
26 typedef detail::uint64 uint64;
27#endif
28
29 // Scalar int
30
31 typedef int8 lowp_i8;
32 typedef int8 mediump_i8;
33 typedef int8 highp_i8;
34 typedef int8 i8;
35
36 typedef int8 lowp_int8;
37 typedef int8 mediump_int8;
38 typedef int8 highp_int8;
39
40 typedef int8 lowp_int8_t;
41 typedef int8 mediump_int8_t;
42 typedef int8 highp_int8_t;
43 typedef int8 int8_t;
44
45 typedef int16 lowp_i16;
46 typedef int16 mediump_i16;
47 typedef int16 highp_i16;
48 typedef int16 i16;
49
50 typedef int16 lowp_int16;
51 typedef int16 mediump_int16;
52 typedef int16 highp_int16;
53
54 typedef int16 lowp_int16_t;
55 typedef int16 mediump_int16_t;
56 typedef int16 highp_int16_t;
57 typedef int16 int16_t;
58
59 typedef int32 lowp_i32;
60 typedef int32 mediump_i32;
61 typedef int32 highp_i32;
62 typedef int32 i32;
63
64 typedef int32 lowp_int32;
65 typedef int32 mediump_int32;
66 typedef int32 highp_int32;
67
68 typedef int32 lowp_int32_t;
69 typedef int32 mediump_int32_t;
70 typedef int32 highp_int32_t;
71 typedef int32 int32_t;
72
73 typedef int64 lowp_i64;
74 typedef int64 mediump_i64;
75 typedef int64 highp_i64;
76 typedef int64 i64;
77
78 typedef int64 lowp_int64;
79 typedef int64 mediump_int64;
80 typedef int64 highp_int64;
81
82 typedef int64 lowp_int64_t;
83 typedef int64 mediump_int64_t;
84 typedef int64 highp_int64_t;
85 typedef int64 int64_t;
86
87 // Scalar uint
88
89 typedef uint8 lowp_u8;
90 typedef uint8 mediump_u8;
91 typedef uint8 highp_u8;
92 typedef uint8 u8;
93
94 typedef uint8 lowp_uint8;
95 typedef uint8 mediump_uint8;
96 typedef uint8 highp_uint8;
97
98 typedef uint8 lowp_uint8_t;
99 typedef uint8 mediump_uint8_t;
100 typedef uint8 highp_uint8_t;
101 typedef uint8 uint8_t;
102
103 typedef uint16 lowp_u16;
104 typedef uint16 mediump_u16;
105 typedef uint16 highp_u16;
106 typedef uint16 u16;
107
108 typedef uint16 lowp_uint16;
109 typedef uint16 mediump_uint16;
110 typedef uint16 highp_uint16;
111
112 typedef uint16 lowp_uint16_t;
113 typedef uint16 mediump_uint16_t;
114 typedef uint16 highp_uint16_t;
115 typedef uint16 uint16_t;
116
117 typedef uint32 lowp_u32;
118 typedef uint32 mediump_u32;
119 typedef uint32 highp_u32;
120 typedef uint32 u32;
121
122 typedef uint32 lowp_uint32;
123 typedef uint32 mediump_uint32;
124 typedef uint32 highp_uint32;
125
126 typedef uint32 lowp_uint32_t;
127 typedef uint32 mediump_uint32_t;
128 typedef uint32 highp_uint32_t;
129 typedef uint32 uint32_t;
130
131 typedef uint64 lowp_u64;
132 typedef uint64 mediump_u64;
133 typedef uint64 highp_u64;
134 typedef uint64 u64;
135
136 typedef uint64 lowp_uint64;
137 typedef uint64 mediump_uint64;
138 typedef uint64 highp_uint64;
139
140 typedef uint64 lowp_uint64_t;
141 typedef uint64 mediump_uint64_t;
142 typedef uint64 highp_uint64_t;
143 typedef uint64 uint64_t;
144
145 // Scalar float
146
147 typedef float lowp_f32;
148 typedef float mediump_f32;
149 typedef float highp_f32;
150 typedef float f32;
151
152 typedef float lowp_float32;
153 typedef float mediump_float32;
154 typedef float highp_float32;
155 typedef float float32;
156
157 typedef float lowp_float32_t;
158 typedef float mediump_float32_t;
159 typedef float highp_float32_t;
160 typedef float float32_t;
161
162
163 typedef double lowp_f64;
164 typedef double mediump_f64;
165 typedef double highp_f64;
166 typedef double f64;
167
168 typedef double lowp_float64;
169 typedef double mediump_float64;
170 typedef double highp_float64;
171 typedef double float64;
172
173 typedef double lowp_float64_t;
174 typedef double mediump_float64_t;
175 typedef double highp_float64_t;
176 typedef double float64_t;
177
178 // Vector bool
179
180 typedef vec<1, bool, lowp> lowp_bvec1;
181 typedef vec<2, bool, lowp> lowp_bvec2;
182 typedef vec<3, bool, lowp> lowp_bvec3;
183 typedef vec<4, bool, lowp> lowp_bvec4;
184
185 typedef vec<1, bool, mediump> mediump_bvec1;
186 typedef vec<2, bool, mediump> mediump_bvec2;
187 typedef vec<3, bool, mediump> mediump_bvec3;
188 typedef vec<4, bool, mediump> mediump_bvec4;
189
190 typedef vec<1, bool, highp> highp_bvec1;
191 typedef vec<2, bool, highp> highp_bvec2;
192 typedef vec<3, bool, highp> highp_bvec3;
193 typedef vec<4, bool, highp> highp_bvec4;
194
195 typedef vec<1, bool, defaultp> bvec1;
196 typedef vec<2, bool, defaultp> bvec2;
197 typedef vec<3, bool, defaultp> bvec3;
198 typedef vec<4, bool, defaultp> bvec4;
199
200 // Vector int
201
202 typedef vec<1, i32, lowp> lowp_ivec1;
203 typedef vec<2, i32, lowp> lowp_ivec2;
204 typedef vec<3, i32, lowp> lowp_ivec3;
205 typedef vec<4, i32, lowp> lowp_ivec4;
206
207 typedef vec<1, i32, mediump> mediump_ivec1;
208 typedef vec<2, i32, mediump> mediump_ivec2;
209 typedef vec<3, i32, mediump> mediump_ivec3;
210 typedef vec<4, i32, mediump> mediump_ivec4;
211
212 typedef vec<1, i32, highp> highp_ivec1;
213 typedef vec<2, i32, highp> highp_ivec2;
214 typedef vec<3, i32, highp> highp_ivec3;
215 typedef vec<4, i32, highp> highp_ivec4;
216
217 typedef vec<1, i32, defaultp> ivec1;
218 typedef vec<2, i32, defaultp> ivec2;
219 typedef vec<3, i32, defaultp> ivec3;
220 typedef vec<4, i32, defaultp> ivec4;
221
222 typedef vec<1, i8, lowp> lowp_i8vec1;
223 typedef vec<2, i8, lowp> lowp_i8vec2;
224 typedef vec<3, i8, lowp> lowp_i8vec3;
225 typedef vec<4, i8, lowp> lowp_i8vec4;
226
227 typedef vec<1, i8, mediump> mediump_i8vec1;
228 typedef vec<2, i8, mediump> mediump_i8vec2;
229 typedef vec<3, i8, mediump> mediump_i8vec3;
230 typedef vec<4, i8, mediump> mediump_i8vec4;
231
232 typedef vec<1, i8, highp> highp_i8vec1;
233 typedef vec<2, i8, highp> highp_i8vec2;
234 typedef vec<3, i8, highp> highp_i8vec3;
235 typedef vec<4, i8, highp> highp_i8vec4;
236
237 typedef vec<1, i8, defaultp> i8vec1;
238 typedef vec<2, i8, defaultp> i8vec2;
239 typedef vec<3, i8, defaultp> i8vec3;
240 typedef vec<4, i8, defaultp> i8vec4;
241
242 typedef vec<1, i16, lowp> lowp_i16vec1;
243 typedef vec<2, i16, lowp> lowp_i16vec2;
244 typedef vec<3, i16, lowp> lowp_i16vec3;
245 typedef vec<4, i16, lowp> lowp_i16vec4;
246
247 typedef vec<1, i16, mediump> mediump_i16vec1;
248 typedef vec<2, i16, mediump> mediump_i16vec2;
249 typedef vec<3, i16, mediump> mediump_i16vec3;
250 typedef vec<4, i16, mediump> mediump_i16vec4;
251
252 typedef vec<1, i16, highp> highp_i16vec1;
253 typedef vec<2, i16, highp> highp_i16vec2;
254 typedef vec<3, i16, highp> highp_i16vec3;
255 typedef vec<4, i16, highp> highp_i16vec4;
256
257 typedef vec<1, i16, defaultp> i16vec1;
258 typedef vec<2, i16, defaultp> i16vec2;
259 typedef vec<3, i16, defaultp> i16vec3;
260 typedef vec<4, i16, defaultp> i16vec4;
261
262 typedef vec<1, i32, lowp> lowp_i32vec1;
263 typedef vec<2, i32, lowp> lowp_i32vec2;
264 typedef vec<3, i32, lowp> lowp_i32vec3;
265 typedef vec<4, i32, lowp> lowp_i32vec4;
266
267 typedef vec<1, i32, mediump> mediump_i32vec1;
268 typedef vec<2, i32, mediump> mediump_i32vec2;
269 typedef vec<3, i32, mediump> mediump_i32vec3;
270 typedef vec<4, i32, mediump> mediump_i32vec4;
271
272 typedef vec<1, i32, highp> highp_i32vec1;
273 typedef vec<2, i32, highp> highp_i32vec2;
274 typedef vec<3, i32, highp> highp_i32vec3;
275 typedef vec<4, i32, highp> highp_i32vec4;
276
277 typedef vec<1, i32, defaultp> i32vec1;
278 typedef vec<2, i32, defaultp> i32vec2;
279 typedef vec<3, i32, defaultp> i32vec3;
280 typedef vec<4, i32, defaultp> i32vec4;
281
282 typedef vec<1, i64, lowp> lowp_i64vec1;
283 typedef vec<2, i64, lowp> lowp_i64vec2;
284 typedef vec<3, i64, lowp> lowp_i64vec3;
285 typedef vec<4, i64, lowp> lowp_i64vec4;
286
287 typedef vec<1, i64, mediump> mediump_i64vec1;
288 typedef vec<2, i64, mediump> mediump_i64vec2;
289 typedef vec<3, i64, mediump> mediump_i64vec3;
290 typedef vec<4, i64, mediump> mediump_i64vec4;
291
292 typedef vec<1, i64, highp> highp_i64vec1;
293 typedef vec<2, i64, highp> highp_i64vec2;
294 typedef vec<3, i64, highp> highp_i64vec3;
295 typedef vec<4, i64, highp> highp_i64vec4;
296
297 typedef vec<1, i64, defaultp> i64vec1;
298 typedef vec<2, i64, defaultp> i64vec2;
299 typedef vec<3, i64, defaultp> i64vec3;
300 typedef vec<4, i64, defaultp> i64vec4;
301
302 // Vector uint
303
304 typedef vec<1, u32, lowp> lowp_uvec1;
305 typedef vec<2, u32, lowp> lowp_uvec2;
306 typedef vec<3, u32, lowp> lowp_uvec3;
307 typedef vec<4, u32, lowp> lowp_uvec4;
308
309 typedef vec<1, u32, mediump> mediump_uvec1;
310 typedef vec<2, u32, mediump> mediump_uvec2;
311 typedef vec<3, u32, mediump> mediump_uvec3;
312 typedef vec<4, u32, mediump> mediump_uvec4;
313
314 typedef vec<1, u32, highp> highp_uvec1;
315 typedef vec<2, u32, highp> highp_uvec2;
316 typedef vec<3, u32, highp> highp_uvec3;
317 typedef vec<4, u32, highp> highp_uvec4;
318
319 typedef vec<1, u32, defaultp> uvec1;
320 typedef vec<2, u32, defaultp> uvec2;
321 typedef vec<3, u32, defaultp> uvec3;
322 typedef vec<4, u32, defaultp> uvec4;
323
324 typedef vec<1, u8, lowp> lowp_u8vec1;
325 typedef vec<2, u8, lowp> lowp_u8vec2;
326 typedef vec<3, u8, lowp> lowp_u8vec3;
327 typedef vec<4, u8, lowp> lowp_u8vec4;
328
329 typedef vec<1, u8, mediump> mediump_u8vec1;
330 typedef vec<2, u8, mediump> mediump_u8vec2;
331 typedef vec<3, u8, mediump> mediump_u8vec3;
332 typedef vec<4, u8, mediump> mediump_u8vec4;
333
334 typedef vec<1, u8, highp> highp_u8vec1;
335 typedef vec<2, u8, highp> highp_u8vec2;
336 typedef vec<3, u8, highp> highp_u8vec3;
337 typedef vec<4, u8, highp> highp_u8vec4;
338
339 typedef vec<1, u8, defaultp> u8vec1;
340 typedef vec<2, u8, defaultp> u8vec2;
341 typedef vec<3, u8, defaultp> u8vec3;
342 typedef vec<4, u8, defaultp> u8vec4;
343
344 typedef vec<1, u16, lowp> lowp_u16vec1;
345 typedef vec<2, u16, lowp> lowp_u16vec2;
346 typedef vec<3, u16, lowp> lowp_u16vec3;
347 typedef vec<4, u16, lowp> lowp_u16vec4;
348
349 typedef vec<1, u16, mediump> mediump_u16vec1;
350 typedef vec<2, u16, mediump> mediump_u16vec2;
351 typedef vec<3, u16, mediump> mediump_u16vec3;
352 typedef vec<4, u16, mediump> mediump_u16vec4;
353
354 typedef vec<1, u16, highp> highp_u16vec1;
355 typedef vec<2, u16, highp> highp_u16vec2;
356 typedef vec<3, u16, highp> highp_u16vec3;
357 typedef vec<4, u16, highp> highp_u16vec4;
358
359 typedef vec<1, u16, defaultp> u16vec1;
360 typedef vec<2, u16, defaultp> u16vec2;
361 typedef vec<3, u16, defaultp> u16vec3;
362 typedef vec<4, u16, defaultp> u16vec4;
363
364 typedef vec<1, u32, lowp> lowp_u32vec1;
365 typedef vec<2, u32, lowp> lowp_u32vec2;
366 typedef vec<3, u32, lowp> lowp_u32vec3;
367 typedef vec<4, u32, lowp> lowp_u32vec4;
368
369 typedef vec<1, u32, mediump> mediump_u32vec1;
370 typedef vec<2, u32, mediump> mediump_u32vec2;
371 typedef vec<3, u32, mediump> mediump_u32vec3;
372 typedef vec<4, u32, mediump> mediump_u32vec4;
373
374 typedef vec<1, u32, highp> highp_u32vec1;
375 typedef vec<2, u32, highp> highp_u32vec2;
376 typedef vec<3, u32, highp> highp_u32vec3;
377 typedef vec<4, u32, highp> highp_u32vec4;
378
379 typedef vec<1, u32, defaultp> u32vec1;
380 typedef vec<2, u32, defaultp> u32vec2;
381 typedef vec<3, u32, defaultp> u32vec3;
382 typedef vec<4, u32, defaultp> u32vec4;
383
384 typedef vec<1, u64, lowp> lowp_u64vec1;
385 typedef vec<2, u64, lowp> lowp_u64vec2;
386 typedef vec<3, u64, lowp> lowp_u64vec3;
387 typedef vec<4, u64, lowp> lowp_u64vec4;
388
389 typedef vec<1, u64, mediump> mediump_u64vec1;
390 typedef vec<2, u64, mediump> mediump_u64vec2;
391 typedef vec<3, u64, mediump> mediump_u64vec3;
392 typedef vec<4, u64, mediump> mediump_u64vec4;
393
394 typedef vec<1, u64, highp> highp_u64vec1;
395 typedef vec<2, u64, highp> highp_u64vec2;
396 typedef vec<3, u64, highp> highp_u64vec3;
397 typedef vec<4, u64, highp> highp_u64vec4;
398
399 typedef vec<1, u64, defaultp> u64vec1;
400 typedef vec<2, u64, defaultp> u64vec2;
401 typedef vec<3, u64, defaultp> u64vec3;
402 typedef vec<4, u64, defaultp> u64vec4;
403
404 // Vector float
405
406 typedef vec<1, float, lowp> lowp_vec1;
407 typedef vec<2, float, lowp> lowp_vec2;
408 typedef vec<3, float, lowp> lowp_vec3;
409 typedef vec<4, float, lowp> lowp_vec4;
410
411 typedef vec<1, float, mediump> mediump_vec1;
412 typedef vec<2, float, mediump> mediump_vec2;
413 typedef vec<3, float, mediump> mediump_vec3;
414 typedef vec<4, float, mediump> mediump_vec4;
415
416 typedef vec<1, float, highp> highp_vec1;
417 typedef vec<2, float, highp> highp_vec2;
418 typedef vec<3, float, highp> highp_vec3;
419 typedef vec<4, float, highp> highp_vec4;
420
421 typedef vec<1, float, defaultp> vec1;
422 typedef vec<2, float, defaultp> vec2;
423 typedef vec<3, float, defaultp> vec3;
424 typedef vec<4, float, defaultp> vec4;
425
426 typedef vec<1, float, lowp> lowp_fvec1;
427 typedef vec<2, float, lowp> lowp_fvec2;
428 typedef vec<3, float, lowp> lowp_fvec3;
429 typedef vec<4, float, lowp> lowp_fvec4;
430
431 typedef vec<1, float, mediump> mediump_fvec1;
432 typedef vec<2, float, mediump> mediump_fvec2;
433 typedef vec<3, float, mediump> mediump_fvec3;
434 typedef vec<4, float, mediump> mediump_fvec4;
435
436 typedef vec<1, float, highp> highp_fvec1;
437 typedef vec<2, float, highp> highp_fvec2;
438 typedef vec<3, float, highp> highp_fvec3;
439 typedef vec<4, float, highp> highp_fvec4;
440
441 typedef vec<1, f32, defaultp> fvec1;
442 typedef vec<2, f32, defaultp> fvec2;
443 typedef vec<3, f32, defaultp> fvec3;
444 typedef vec<4, f32, defaultp> fvec4;
445
446 typedef vec<1, f32, lowp> lowp_f32vec1;
447 typedef vec<2, f32, lowp> lowp_f32vec2;
448 typedef vec<3, f32, lowp> lowp_f32vec3;
449 typedef vec<4, f32, lowp> lowp_f32vec4;
450
451 typedef vec<1, f32, mediump> mediump_f32vec1;
452 typedef vec<2, f32, mediump> mediump_f32vec2;
453 typedef vec<3, f32, mediump> mediump_f32vec3;
454 typedef vec<4, f32, mediump> mediump_f32vec4;
455
456 typedef vec<1, f32, highp> highp_f32vec1;
457 typedef vec<2, f32, highp> highp_f32vec2;
458 typedef vec<3, f32, highp> highp_f32vec3;
459 typedef vec<4, f32, highp> highp_f32vec4;
460
461 typedef vec<1, f32, defaultp> f32vec1;
462 typedef vec<2, f32, defaultp> f32vec2;
463 typedef vec<3, f32, defaultp> f32vec3;
464 typedef vec<4, f32, defaultp> f32vec4;
465
466 typedef vec<1, f64, lowp> lowp_dvec1;
467 typedef vec<2, f64, lowp> lowp_dvec2;
468 typedef vec<3, f64, lowp> lowp_dvec3;
469 typedef vec<4, f64, lowp> lowp_dvec4;
470
471 typedef vec<1, f64, mediump> mediump_dvec1;
472 typedef vec<2, f64, mediump> mediump_dvec2;
473 typedef vec<3, f64, mediump> mediump_dvec3;
474 typedef vec<4, f64, mediump> mediump_dvec4;
475
476 typedef vec<1, f64, highp> highp_dvec1;
477 typedef vec<2, f64, highp> highp_dvec2;
478 typedef vec<3, f64, highp> highp_dvec3;
479 typedef vec<4, f64, highp> highp_dvec4;
480
481 typedef vec<1, f64, defaultp> dvec1;
482 typedef vec<2, f64, defaultp> dvec2;
483 typedef vec<3, f64, defaultp> dvec3;
484 typedef vec<4, f64, defaultp> dvec4;
485
486 typedef vec<1, f64, lowp> lowp_f64vec1;
487 typedef vec<2, f64, lowp> lowp_f64vec2;
488 typedef vec<3, f64, lowp> lowp_f64vec3;
489 typedef vec<4, f64, lowp> lowp_f64vec4;
490
491 typedef vec<1, f64, mediump> mediump_f64vec1;
492 typedef vec<2, f64, mediump> mediump_f64vec2;
493 typedef vec<3, f64, mediump> mediump_f64vec3;
494 typedef vec<4, f64, mediump> mediump_f64vec4;
495
496 typedef vec<1, f64, highp> highp_f64vec1;
497 typedef vec<2, f64, highp> highp_f64vec2;
498 typedef vec<3, f64, highp> highp_f64vec3;
499 typedef vec<4, f64, highp> highp_f64vec4;
500
501 typedef vec<1, f64, defaultp> f64vec1;
502 typedef vec<2, f64, defaultp> f64vec2;
503 typedef vec<3, f64, defaultp> f64vec3;
504 typedef vec<4, f64, defaultp> f64vec4;
505
506 // Matrix NxN
507
508 typedef mat<2, 2, f32, lowp> lowp_mat2;
509 typedef mat<3, 3, f32, lowp> lowp_mat3;
510 typedef mat<4, 4, f32, lowp> lowp_mat4;
511
512 typedef mat<2, 2, f32, mediump> mediump_mat2;
513 typedef mat<3, 3, f32, mediump> mediump_mat3;
514 typedef mat<4, 4, f32, mediump> mediump_mat4;
515
516 typedef mat<2, 2, f32, highp> highp_mat2;
517 typedef mat<3, 3, f32, highp> highp_mat3;
518 typedef mat<4, 4, f32, highp> highp_mat4;
519
520 typedef mat<2, 2, f32, defaultp> mat2;
521 typedef mat<3, 3, f32, defaultp> mat3;
522 typedef mat<4, 4, f32, defaultp> mat4;
523
524 typedef mat<2, 2, f32, lowp> lowp_fmat2;
525 typedef mat<3, 3, f32, lowp> lowp_fmat3;
526 typedef mat<4, 4, f32, lowp> lowp_fmat4;
527
528 typedef mat<2, 2, f32, mediump> mediump_fmat2;
529 typedef mat<3, 3, f32, mediump> mediump_fmat3;
530 typedef mat<4, 4, f32, mediump> mediump_fmat4;
531
532 typedef mat<2, 2, f32, highp> highp_fmat2;
533 typedef mat<3, 3, f32, highp> highp_fmat3;
534 typedef mat<4, 4, f32, highp> highp_fmat4;
535
536 typedef mat<2, 2, f32, defaultp> fmat2;
537 typedef mat<3, 3, f32, defaultp> fmat3;
538 typedef mat<4, 4, f32, defaultp> fmat4;
539
540 typedef mat<2, 2, f32, lowp> lowp_f32mat2;
541 typedef mat<3, 3, f32, lowp> lowp_f32mat3;
542 typedef mat<4, 4, f32, lowp> lowp_f32mat4;
543
544 typedef mat<2, 2, f32, mediump> mediump_f32mat2;
545 typedef mat<3, 3, f32, mediump> mediump_f32mat3;
546 typedef mat<4, 4, f32, mediump> mediump_f32mat4;
547
548 typedef mat<2, 2, f32, highp> highp_f32mat2;
549 typedef mat<3, 3, f32, highp> highp_f32mat3;
550 typedef mat<4, 4, f32, highp> highp_f32mat4;
551
552 typedef mat<2, 2, f32, defaultp> f32mat2;
553 typedef mat<3, 3, f32, defaultp> f32mat3;
554 typedef mat<4, 4, f32, defaultp> f32mat4;
555
556 typedef mat<2, 2, f64, lowp> lowp_dmat2;
557 typedef mat<3, 3, f64, lowp> lowp_dmat3;
558 typedef mat<4, 4, f64, lowp> lowp_dmat4;
559
560 typedef mat<2, 2, f64, mediump> mediump_dmat2;
561 typedef mat<3, 3, f64, mediump> mediump_dmat3;
562 typedef mat<4, 4, f64, mediump> mediump_dmat4;
563
564 typedef mat<2, 2, f64, highp> highp_dmat2;
565 typedef mat<3, 3, f64, highp> highp_dmat3;
566 typedef mat<4, 4, f64, highp> highp_dmat4;
567
568 typedef mat<2, 2, f64, defaultp> dmat2;
569 typedef mat<3, 3, f64, defaultp> dmat3;
570 typedef mat<4, 4, f64, defaultp> dmat4;
571
572 typedef mat<2, 2, f64, lowp> lowp_f64mat2;
573 typedef mat<3, 3, f64, lowp> lowp_f64mat3;
574 typedef mat<4, 4, f64, lowp> lowp_f64mat4;
575
576 typedef mat<2, 2, f64, mediump> mediump_f64mat2;
577 typedef mat<3, 3, f64, mediump> mediump_f64mat3;
578 typedef mat<4, 4, f64, mediump> mediump_f64mat4;
579
580 typedef mat<2, 2, f64, highp> highp_f64mat2;
581 typedef mat<3, 3, f64, highp> highp_f64mat3;
582 typedef mat<4, 4, f64, highp> highp_f64mat4;
583
584 typedef mat<2, 2, f64, defaultp> f64mat2;
585 typedef mat<3, 3, f64, defaultp> f64mat3;
586 typedef mat<4, 4, f64, defaultp> f64mat4;
587
588 // Matrix MxN
589
590 typedef mat<2, 2, f32, lowp> lowp_mat2x2;
591 typedef mat<2, 3, f32, lowp> lowp_mat2x3;
592 typedef mat<2, 4, f32, lowp> lowp_mat2x4;
593 typedef mat<3, 2, f32, lowp> lowp_mat3x2;
594 typedef mat<3, 3, f32, lowp> lowp_mat3x3;
595 typedef mat<3, 4, f32, lowp> lowp_mat3x4;
596 typedef mat<4, 2, f32, lowp> lowp_mat4x2;
597 typedef mat<4, 3, f32, lowp> lowp_mat4x3;
598 typedef mat<4, 4, f32, lowp> lowp_mat4x4;
599
600 typedef mat<2, 2, f32, mediump> mediump_mat2x2;
601 typedef mat<2, 3, f32, mediump> mediump_mat2x3;
602 typedef mat<2, 4, f32, mediump> mediump_mat2x4;
603 typedef mat<3, 2, f32, mediump> mediump_mat3x2;
604 typedef mat<3, 3, f32, mediump> mediump_mat3x3;
605 typedef mat<3, 4, f32, mediump> mediump_mat3x4;
606 typedef mat<4, 2, f32, mediump> mediump_mat4x2;
607 typedef mat<4, 3, f32, mediump> mediump_mat4x3;
608 typedef mat<4, 4, f32, mediump> mediump_mat4x4;
609
610 typedef mat<2, 2, f32, highp> highp_mat2x2;
611 typedef mat<2, 3, f32, highp> highp_mat2x3;
612 typedef mat<2, 4, f32, highp> highp_mat2x4;
613 typedef mat<3, 2, f32, highp> highp_mat3x2;
614 typedef mat<3, 3, f32, highp> highp_mat3x3;
615 typedef mat<3, 4, f32, highp> highp_mat3x4;
616 typedef mat<4, 2, f32, highp> highp_mat4x2;
617 typedef mat<4, 3, f32, highp> highp_mat4x3;
618 typedef mat<4, 4, f32, highp> highp_mat4x4;
619
620 typedef mat<2, 2, f32, defaultp> mat2x2;
621 typedef mat<3, 2, f32, defaultp> mat3x2;
622 typedef mat<4, 2, f32, defaultp> mat4x2;
623 typedef mat<2, 3, f32, defaultp> mat2x3;
624 typedef mat<3, 3, f32, defaultp> mat3x3;
625 typedef mat<4, 3, f32, defaultp> mat4x3;
626 typedef mat<2, 4, f32, defaultp> mat2x4;
627 typedef mat<3, 4, f32, defaultp> mat3x4;
628 typedef mat<4, 4, f32, defaultp> mat4x4;
629
630 typedef mat<2, 2, f32, lowp> lowp_fmat2x2;
631 typedef mat<2, 3, f32, lowp> lowp_fmat2x3;
632 typedef mat<2, 4, f32, lowp> lowp_fmat2x4;
633 typedef mat<3, 2, f32, lowp> lowp_fmat3x2;
634 typedef mat<3, 3, f32, lowp> lowp_fmat3x3;
635 typedef mat<3, 4, f32, lowp> lowp_fmat3x4;
636 typedef mat<4, 2, f32, lowp> lowp_fmat4x2;
637 typedef mat<4, 3, f32, lowp> lowp_fmat4x3;
638 typedef mat<4, 4, f32, lowp> lowp_fmat4x4;
639
640 typedef mat<2, 2, f32, mediump> mediump_fmat2x2;
641 typedef mat<2, 3, f32, mediump> mediump_fmat2x3;
642 typedef mat<2, 4, f32, mediump> mediump_fmat2x4;
643 typedef mat<3, 2, f32, mediump> mediump_fmat3x2;
644 typedef mat<3, 3, f32, mediump> mediump_fmat3x3;
645 typedef mat<3, 4, f32, mediump> mediump_fmat3x4;
646 typedef mat<4, 2, f32, mediump> mediump_fmat4x2;
647 typedef mat<4, 3, f32, mediump> mediump_fmat4x3;
648 typedef mat<4, 4, f32, mediump> mediump_fmat4x4;
649
650 typedef mat<2, 2, f32, highp> highp_fmat2x2;
651 typedef mat<2, 3, f32, highp> highp_fmat2x3;
652 typedef mat<2, 4, f32, highp> highp_fmat2x4;
653 typedef mat<3, 2, f32, highp> highp_fmat3x2;
654 typedef mat<3, 3, f32, highp> highp_fmat3x3;
655 typedef mat<3, 4, f32, highp> highp_fmat3x4;
656 typedef mat<4, 2, f32, highp> highp_fmat4x2;
657 typedef mat<4, 3, f32, highp> highp_fmat4x3;
658 typedef mat<4, 4, f32, highp> highp_fmat4x4;
659
660 typedef mat<2, 2, f32, defaultp> fmat2x2;
661 typedef mat<3, 2, f32, defaultp> fmat3x2;
662 typedef mat<4, 2, f32, defaultp> fmat4x2;
663 typedef mat<2, 3, f32, defaultp> fmat2x3;
664 typedef mat<3, 3, f32, defaultp> fmat3x3;
665 typedef mat<4, 3, f32, defaultp> fmat4x3;
666 typedef mat<2, 4, f32, defaultp> fmat2x4;
667 typedef mat<3, 4, f32, defaultp> fmat3x4;
668 typedef mat<4, 4, f32, defaultp> fmat4x4;
669
670 typedef mat<2, 2, f32, lowp> lowp_f32mat2x2;
671 typedef mat<2, 3, f32, lowp> lowp_f32mat2x3;
672 typedef mat<2, 4, f32, lowp> lowp_f32mat2x4;
673 typedef mat<3, 2, f32, lowp> lowp_f32mat3x2;
674 typedef mat<3, 3, f32, lowp> lowp_f32mat3x3;
675 typedef mat<3, 4, f32, lowp> lowp_f32mat3x4;
676 typedef mat<4, 2, f32, lowp> lowp_f32mat4x2;
677 typedef mat<4, 3, f32, lowp> lowp_f32mat4x3;
678 typedef mat<4, 4, f32, lowp> lowp_f32mat4x4;
679
680 typedef mat<2, 2, f32, mediump> mediump_f32mat2x2;
681 typedef mat<2, 3, f32, mediump> mediump_f32mat2x3;
682 typedef mat<2, 4, f32, mediump> mediump_f32mat2x4;
683 typedef mat<3, 2, f32, mediump> mediump_f32mat3x2;
684 typedef mat<3, 3, f32, mediump> mediump_f32mat3x3;
685 typedef mat<3, 4, f32, mediump> mediump_f32mat3x4;
686 typedef mat<4, 2, f32, mediump> mediump_f32mat4x2;
687 typedef mat<4, 3, f32, mediump> mediump_f32mat4x3;
688 typedef mat<4, 4, f32, mediump> mediump_f32mat4x4;
689
690 typedef mat<2, 2, f32, highp> highp_f32mat2x2;
691 typedef mat<2, 3, f32, highp> highp_f32mat2x3;
692 typedef mat<2, 4, f32, highp> highp_f32mat2x4;
693 typedef mat<3, 2, f32, highp> highp_f32mat3x2;
694 typedef mat<3, 3, f32, highp> highp_f32mat3x3;
695 typedef mat<3, 4, f32, highp> highp_f32mat3x4;
696 typedef mat<4, 2, f32, highp> highp_f32mat4x2;
697 typedef mat<4, 3, f32, highp> highp_f32mat4x3;
698 typedef mat<4, 4, f32, highp> highp_f32mat4x4;
699
700 typedef mat<2, 2, f32, defaultp> f32mat2x2;
701 typedef mat<3, 2, f32, defaultp> f32mat3x2;
702 typedef mat<4, 2, f32, defaultp> f32mat4x2;
703 typedef mat<2, 3, f32, defaultp> f32mat2x3;
704 typedef mat<3, 3, f32, defaultp> f32mat3x3;
705 typedef mat<4, 3, f32, defaultp> f32mat4x3;
706 typedef mat<2, 4, f32, defaultp> f32mat2x4;
707 typedef mat<3, 4, f32, defaultp> f32mat3x4;
708 typedef mat<4, 4, f32, defaultp> f32mat4x4;
709
710 typedef mat<2, 2, double, lowp> lowp_dmat2x2;
711 typedef mat<2, 3, double, lowp> lowp_dmat2x3;
712 typedef mat<2, 4, double, lowp> lowp_dmat2x4;
713 typedef mat<3, 2, double, lowp> lowp_dmat3x2;
714 typedef mat<3, 3, double, lowp> lowp_dmat3x3;
715 typedef mat<3, 4, double, lowp> lowp_dmat3x4;
716 typedef mat<4, 2, double, lowp> lowp_dmat4x2;
717 typedef mat<4, 3, double, lowp> lowp_dmat4x3;
718 typedef mat<4, 4, double, lowp> lowp_dmat4x4;
719
720 typedef mat<2, 2, double, mediump> mediump_dmat2x2;
721 typedef mat<2, 3, double, mediump> mediump_dmat2x3;
722 typedef mat<2, 4, double, mediump> mediump_dmat2x4;
723 typedef mat<3, 2, double, mediump> mediump_dmat3x2;
724 typedef mat<3, 3, double, mediump> mediump_dmat3x3;
725 typedef mat<3, 4, double, mediump> mediump_dmat3x4;
726 typedef mat<4, 2, double, mediump> mediump_dmat4x2;
727 typedef mat<4, 3, double, mediump> mediump_dmat4x3;
728 typedef mat<4, 4, double, mediump> mediump_dmat4x4;
729
730 typedef mat<2, 2, double, highp> highp_dmat2x2;
731 typedef mat<2, 3, double, highp> highp_dmat2x3;
732 typedef mat<2, 4, double, highp> highp_dmat2x4;
733 typedef mat<3, 2, double, highp> highp_dmat3x2;
734 typedef mat<3, 3, double, highp> highp_dmat3x3;
735 typedef mat<3, 4, double, highp> highp_dmat3x4;
736 typedef mat<4, 2, double, highp> highp_dmat4x2;
737 typedef mat<4, 3, double, highp> highp_dmat4x3;
738 typedef mat<4, 4, double, highp> highp_dmat4x4;
739
740 typedef mat<2, 2, double, defaultp> dmat2x2;
741 typedef mat<3, 2, double, defaultp> dmat3x2;
742 typedef mat<4, 2, double, defaultp> dmat4x2;
743 typedef mat<2, 3, double, defaultp> dmat2x3;
744 typedef mat<3, 3, double, defaultp> dmat3x3;
745 typedef mat<4, 3, double, defaultp> dmat4x3;
746 typedef mat<2, 4, double, defaultp> dmat2x4;
747 typedef mat<3, 4, double, defaultp> dmat3x4;
748 typedef mat<4, 4, double, defaultp> dmat4x4;
749
750 typedef mat<2, 2, f64, lowp> lowp_f64mat2x2;
751 typedef mat<2, 3, f64, lowp> lowp_f64mat2x3;
752 typedef mat<2, 4, f64, lowp> lowp_f64mat2x4;
753 typedef mat<3, 2, f64, lowp> lowp_f64mat3x2;
754 typedef mat<3, 3, f64, lowp> lowp_f64mat3x3;
755 typedef mat<3, 4, f64, lowp> lowp_f64mat3x4;
756 typedef mat<4, 2, f64, lowp> lowp_f64mat4x2;
757 typedef mat<4, 3, f64, lowp> lowp_f64mat4x3;
758 typedef mat<4, 4, f64, lowp> lowp_f64mat4x4;
759
760 typedef mat<2, 2, f64, mediump> mediump_f64mat2x2;
761 typedef mat<2, 3, f64, mediump> mediump_f64mat2x3;
762 typedef mat<2, 4, f64, mediump> mediump_f64mat2x4;
763 typedef mat<3, 2, f64, mediump> mediump_f64mat3x2;
764 typedef mat<3, 3, f64, mediump> mediump_f64mat3x3;
765 typedef mat<3, 4, f64, mediump> mediump_f64mat3x4;
766 typedef mat<4, 2, f64, mediump> mediump_f64mat4x2;
767 typedef mat<4, 3, f64, mediump> mediump_f64mat4x3;
768 typedef mat<4, 4, f64, mediump> mediump_f64mat4x4;
769
770 typedef mat<2, 2, f64, highp> highp_f64mat2x2;
771 typedef mat<2, 3, f64, highp> highp_f64mat2x3;
772 typedef mat<2, 4, f64, highp> highp_f64mat2x4;
773 typedef mat<3, 2, f64, highp> highp_f64mat3x2;
774 typedef mat<3, 3, f64, highp> highp_f64mat3x3;
775 typedef mat<3, 4, f64, highp> highp_f64mat3x4;
776 typedef mat<4, 2, f64, highp> highp_f64mat4x2;
777 typedef mat<4, 3, f64, highp> highp_f64mat4x3;
778 typedef mat<4, 4, f64, highp> highp_f64mat4x4;
779
780 typedef mat<2, 2, f64, defaultp> f64mat2x2;
781 typedef mat<3, 2, f64, defaultp> f64mat3x2;
782 typedef mat<4, 2, f64, defaultp> f64mat4x2;
783 typedef mat<2, 3, f64, defaultp> f64mat2x3;
784 typedef mat<3, 3, f64, defaultp> f64mat3x3;
785 typedef mat<4, 3, f64, defaultp> f64mat4x3;
786 typedef mat<2, 4, f64, defaultp> f64mat2x4;
787 typedef mat<3, 4, f64, defaultp> f64mat3x4;
788 typedef mat<4, 4, f64, defaultp> f64mat4x4;
789
790 // Quaternion
791
792 typedef qua<float, lowp> lowp_quat;
793 typedef qua<float, mediump> mediump_quat;
794 typedef qua<float, highp> highp_quat;
795 typedef qua<float, defaultp> quat;
796
797 typedef qua<float, lowp> lowp_fquat;
798 typedef qua<float, mediump> mediump_fquat;
799 typedef qua<float, highp> highp_fquat;
800 typedef qua<float, defaultp> fquat;
801
802 typedef qua<f32, lowp> lowp_f32quat;
803 typedef qua<f32, mediump> mediump_f32quat;
804 typedef qua<f32, highp> highp_f32quat;
805 typedef qua<f32, defaultp> f32quat;
806
807 typedef qua<double, lowp> lowp_dquat;
808 typedef qua<double, mediump> mediump_dquat;
809 typedef qua<double, highp> highp_dquat;
810 typedef qua<double, defaultp> dquat;
811
812 typedef qua<f64, lowp> lowp_f64quat;
813 typedef qua<f64, mediump> mediump_f64quat;
814 typedef qua<f64, highp> highp_f64quat;
815 typedef qua<f64, defaultp> f64quat;
816}//namespace glm
817
818