3rdparty/glm/doc/api/a00114_source.html
| | 0.9.8 |
type_mat.hpp
Go to the documentation of this file.
1
4 #pragma once
5
6 #include "precision.hpp"
7
8 namespace glm{
9 namespace detail
10 {
11template <typename T, precision P, template <class, precision> class colType, template <class, precision> class rowType>
12struct outerProduct_trait{};
13 }//namespace detail
14
15template <typename T, precision P> struct tvec2;
16template <typename T, precision P> struct tvec3;
17template <typename T, precision P> struct tvec4;
18template <typename T, precision P> struct tmat2x2;
19template <typename T, precision P> struct tmat2x3;
20template <typename T, precision P> struct tmat2x4;
21template <typename T, precision P> struct tmat3x2;
22template <typename T, precision P> struct tmat3x3;
23template <typename T, precision P> struct tmat3x4;
24template <typename T, precision P> struct tmat4x2;
25template <typename T, precision P> struct tmat4x3;
26template <typename T, precision P> struct tmat4x4;
27
28template <typename T, precision P, template <typename, precision> class matType>
29 GLM_FUNC_DECL matType<T, P> inverse(matType<T, P> const & m);
30
33
39typedef tmat2x2<float, lowp> lowp_mat2;
40
46typedef tmat2x2<float, mediump> mediump_mat2;
47
53typedef tmat2x2<float, highp> highp_mat2;
54
60typedef tmat2x2<float, lowp> lowp_mat2x2;
61
67typedef tmat2x2<float, mediump> mediump_mat2x2;
68
74typedef tmat2x2<float, highp> highp_mat2x2;
75
77
80
86typedef tmat2x3<float, lowp> lowp_mat2x3;
87
93typedef tmat2x3<float, mediump> mediump_mat2x3;
94
100typedef tmat2x3<float, highp> highp_mat2x3;
101
103
106
112typedef tmat2x4<float, lowp> lowp_mat2x4;
113
119typedef tmat2x4<float, mediump> mediump_mat2x4;
120
126typedef tmat2x4<float, highp> highp_mat2x4;
127
129
132
138typedef tmat3x2<float, lowp> lowp_mat3x2;
139
145typedef tmat3x2<float, mediump> mediump_mat3x2;
146
152typedef tmat3x2<float, highp> highp_mat3x2;
153
155
158
164typedef tmat3x3<float, lowp> lowp_mat3;
165
171typedef tmat3x3<float, mediump> mediump_mat3;
172
178typedef tmat3x3<float, highp> highp_mat3;
179
185typedef tmat3x3<float, lowp> lowp_mat3x3;
186
192typedef tmat3x3<float, mediump> mediump_mat3x3;
193
199typedef tmat3x3<float, highp> highp_mat3x3;
200
202
205
211typedef tmat3x4<float, lowp> lowp_mat3x4;
212
218typedef tmat3x4<float, mediump> mediump_mat3x4;
219
225typedef tmat3x4<float, highp> highp_mat3x4;
226
228
231
237typedef tmat4x2<float, lowp> lowp_mat4x2;
238
244typedef tmat4x2<float, mediump> mediump_mat4x2;
245
251typedef tmat4x2<float, highp> highp_mat4x2;
252
254
257
263typedef tmat4x3<float, lowp> lowp_mat4x3;
264
270typedef tmat4x3<float, mediump> mediump_mat4x3;
271
277typedef tmat4x3<float, highp> highp_mat4x3;
278
280
281
284
290typedef tmat4x4<float, lowp> lowp_mat4;
291
297typedef tmat4x4<float, mediump> mediump_mat4;
298
304typedef tmat4x4<float, highp> highp_mat4;
305
311typedef tmat4x4<float, lowp> lowp_mat4x4;
312
318typedef tmat4x4<float, mediump> mediump_mat4x4;
319
325typedef tmat4x4<float, highp> highp_mat4x4;
326
328
331
333// Float definition
334
335 #if(defined(GLM_PRECISION_LOWP_FLOAT))
336typedef lowp_mat2x2 mat2x2;
337typedef lowp_mat2x3 mat2x3;
338typedef lowp_mat2x4 mat2x4;
339typedef lowp_mat3x2 mat3x2;
340typedef lowp_mat3x3 mat3x3;
341typedef lowp_mat3x4 mat3x4;
342typedef lowp_mat4x2 mat4x2;
343typedef lowp_mat4x3 mat4x3;
344typedef lowp_mat4x4 mat4x4;
345 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
346typedef mediump_mat2x2 mat2x2;
347typedef mediump_mat2x3 mat2x3;
348typedef mediump_mat2x4 mat2x4;
349typedef mediump_mat3x2 mat3x2;
350typedef mediump_mat3x3 mat3x3;
351typedef mediump_mat3x4 mat3x4;
352typedef mediump_mat4x2 mat4x2;
353typedef mediump_mat4x3 mat4x3;
354typedef mediump_mat4x4 mat4x4;
355 #else
356typedef highp_mat2x2 mat2x2;
360
364typedef highp_mat2x3 mat2x3;
365
369typedef highp_mat2x4 mat2x4;
370
374typedef highp_mat3x2 mat3x2;
375
379typedef highp_mat3x3 mat3x3;
380
384typedef highp_mat3x4 mat3x4;
385
389typedef highp_mat4x2 mat4x2;
390
394typedef highp_mat4x3 mat4x3;
395
399typedef highp_mat4x4 mat4x4;
400
401 #endif//GLM_PRECISION
402
407
412
417
419// Double definition
420
423
428typedef tmat2x2<double, lowp> lowp_dmat2;
429
434typedef tmat2x2<double, mediump> mediump_dmat2;
435
440typedef tmat2x2<double, highp> highp_dmat2;
441
446typedef tmat2x2<double, lowp> lowp_dmat2x2;
447
452typedef tmat2x2<double, mediump> mediump_dmat2x2;
453
458typedef tmat2x2<double, highp> highp_dmat2x2;
459
461
464
469typedef tmat2x3<double, lowp> lowp_dmat2x3;
470
475typedef tmat2x3<double, mediump> mediump_dmat2x3;
476
481typedef tmat2x3<double, highp> highp_dmat2x3;
482
484
487
492typedef tmat2x4<double, lowp> lowp_dmat2x4;
493
498typedef tmat2x4<double, mediump> mediump_dmat2x4;
499
504typedef tmat2x4<double, highp> highp_dmat2x4;
505
507
510
515typedef tmat3x2<double, lowp> lowp_dmat3x2;
516
521typedef tmat3x2<double, mediump> mediump_dmat3x2;
522
527typedef tmat3x2<double, highp> highp_dmat3x2;
528
530
533
538typedef tmat3x3<float, lowp> lowp_dmat3;
539
544typedef tmat3x3<double, mediump> mediump_dmat3;
545
550typedef tmat3x3<double, highp> highp_dmat3;
551
556typedef tmat3x3<double, lowp> lowp_dmat3x3;
557
562typedef tmat3x3<double, mediump> mediump_dmat3x3;
563
568typedef tmat3x3<double, highp> highp_dmat3x3;
569
571
574
579typedef tmat3x4<double, lowp> lowp_dmat3x4;
580
585typedef tmat3x4<double, mediump> mediump_dmat3x4;
586
591typedef tmat3x4<double, highp> highp_dmat3x4;
592
594
597
602typedef tmat4x2<double, lowp> lowp_dmat4x2;
603
608typedef tmat4x2<double, mediump> mediump_dmat4x2;
609
614typedef tmat4x2<double, highp> highp_dmat4x2;
615
617
620
625typedef tmat4x3<double, lowp> lowp_dmat4x3;
626
631typedef tmat4x3<double, mediump> mediump_dmat4x3;
632
637typedef tmat4x3<double, highp> highp_dmat4x3;
638
640
643
648typedef tmat4x4<double, lowp> lowp_dmat4;
649
654typedef tmat4x4<double, mediump> mediump_dmat4;
655
660typedef tmat4x4<double, highp> highp_dmat4;
661
666typedef tmat4x4<double, lowp> lowp_dmat4x4;
667
672typedef tmat4x4<double, mediump> mediump_dmat4x4;
673
678typedef tmat4x4<double, highp> highp_dmat4x4;
679
681
682 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
683typedef lowp_dmat2x2 dmat2x2;
684typedef lowp_dmat2x3 dmat2x3;
685typedef lowp_dmat2x4 dmat2x4;
686typedef lowp_dmat3x2 dmat3x2;
687typedef lowp_dmat3x3 dmat3x3;
688typedef lowp_dmat3x4 dmat3x4;
689typedef lowp_dmat4x2 dmat4x2;
690typedef lowp_dmat4x3 dmat4x3;
691typedef lowp_dmat4x4 dmat4x4;
692 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
693typedef mediump_dmat2x2 dmat2x2;
694typedef mediump_dmat2x3 dmat2x3;
695typedef mediump_dmat2x4 dmat2x4;
696typedef mediump_dmat3x2 dmat3x2;
697typedef mediump_dmat3x3 dmat3x3;
698typedef mediump_dmat3x4 dmat3x4;
699typedef mediump_dmat4x2 dmat4x2;
700typedef mediump_dmat4x3 dmat4x3;
701typedef mediump_dmat4x4 dmat4x4;
702 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
703
707typedef highp_dmat2x2 dmat2;
708
712typedef highp_dmat3x3 dmat3;
713
717typedef highp_dmat4x4 dmat4;
718
722typedef highp_dmat2x2 dmat2x2;
723
727typedef highp_dmat2x3 dmat2x3;
728
732typedef highp_dmat2x4 dmat2x4;
733
737typedef highp_dmat3x2 dmat3x2;
738
742typedef highp_dmat3x3 dmat3x3;
743
747typedef highp_dmat3x4 dmat3x4;
748
752typedef highp_dmat4x2 dmat4x2;
753
757typedef highp_dmat4x3 dmat4x3;
758
762typedef highp_dmat4x4 dmat4x4;
763
764 #endif//GLM_PRECISION
765
767 }//namespace glm
tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:568
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:318
tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:614
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:237
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:277
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:251
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:311
tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:648
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:185
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:46
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:369
tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:446
tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:678
tmat4x4< double, mediump > mediump_dmat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:654
highp_dmat2x2 dmat2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:707
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:359
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:406
tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:434
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:39
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:364
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:752
tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:440
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:374
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:384
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:178
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:722
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:411
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:270
tmat2x2< double, lowp > lowp_dmat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:428
tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:304
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:244
tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:225
tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:631
Definition: _noise.hpp:11
tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:591
tmat2x3< double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:475
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:727
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:112
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:416
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:74
tmat3x4< double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:585
tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:458
tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:625
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:145
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:399
tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:211
highp_dmat3x2 dmat3x2
3 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:737
tmat3x3< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:538
tmat2x3< double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:469
tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:544
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:290
tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:218
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:152
tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:521
tmat4x4< double, highp > highp_dmat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:660
tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:492
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:171
tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:498
tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:67
tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:60
highp_dmat4x4 dmat4x4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:762
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:86
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:325
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:757
tmat3x3< double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:562
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:389
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:297
tmat4x2< double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:602
tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:608
tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:672
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:93
tmat2x2< double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:452
tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:637
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:379
tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:550
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:126
tmat4x4< double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:666
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:199
tmat3x3< double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:556
tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:579
tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:192
tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:164
tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:515
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:742
tmat3x2< double, highp > highp_dmat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:527
tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:53
tmat2x4< double, highp > highp_dmat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:504
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:263
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:747
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:732
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:394
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:100
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:119
GLM Core
highp_dmat4x4 dmat4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:717
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:138
tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:481
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:712
Generated by 1.8.10