Clutter Engine 0.0.1
Loading...
Searching...
No Matches
matrix_major_storage.inl
1
2
3namespace glm
4{
5 template<typename T, qualifier Q>
6 GLM_FUNC_QUALIFIER mat<2, 2, T, Q> rowMajor2
7 (
8 vec<2, T, Q> const& v1,
9 vec<2, T, Q> const& v2
10 )
11 {
12 mat<2, 2, T, Q> Result;
13 Result[0][0] = v1.x;
14 Result[1][0] = v1.y;
15 Result[0][1] = v2.x;
16 Result[1][1] = v2.y;
17 return Result;
18 }
19
20 template<typename T, qualifier Q>
21 GLM_FUNC_QUALIFIER mat<2, 2, T, Q> rowMajor2(
22 const mat<2, 2, T, Q>& m)
23 {
24 mat<2, 2, T, Q> Result;
25 Result[0][0] = m[0][0];
26 Result[0][1] = m[1][0];
27 Result[1][0] = m[0][1];
28 Result[1][1] = m[1][1];
29 return Result;
30 }
31
32 template<typename T, qualifier Q>
33 GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rowMajor3(
34 const vec<3, T, Q>& v1,
35 const vec<3, T, Q>& v2,
36 const vec<3, T, Q>& v3)
37 {
38 mat<3, 3, T, Q> Result;
39 Result[0][0] = v1.x;
40 Result[1][0] = v1.y;
41 Result[2][0] = v1.z;
42 Result[0][1] = v2.x;
43 Result[1][1] = v2.y;
44 Result[2][1] = v2.z;
45 Result[0][2] = v3.x;
46 Result[1][2] = v3.y;
47 Result[2][2] = v3.z;
48 return Result;
49 }
50
51 template<typename T, qualifier Q>
52 GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rowMajor3(
53 const mat<3, 3, T, Q>& m)
54 {
55 mat<3, 3, T, Q> Result;
56 Result[0][0] = m[0][0];
57 Result[0][1] = m[1][0];
58 Result[0][2] = m[2][0];
59 Result[1][0] = m[0][1];
60 Result[1][1] = m[1][1];
61 Result[1][2] = m[2][1];
62 Result[2][0] = m[0][2];
63 Result[2][1] = m[1][2];
64 Result[2][2] = m[2][2];
65 return Result;
66 }
67
68 template<typename T, qualifier Q>
69 GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rowMajor4(
70 const vec<4, T, Q>& v1,
71 const vec<4, T, Q>& v2,
72 const vec<4, T, Q>& v3,
73 const vec<4, T, Q>& v4)
74 {
75 mat<4, 4, T, Q> Result;
76 Result[0][0] = v1.x;
77 Result[1][0] = v1.y;
78 Result[2][0] = v1.z;
79 Result[3][0] = v1.w;
80 Result[0][1] = v2.x;
81 Result[1][1] = v2.y;
82 Result[2][1] = v2.z;
83 Result[3][1] = v2.w;
84 Result[0][2] = v3.x;
85 Result[1][2] = v3.y;
86 Result[2][2] = v3.z;
87 Result[3][2] = v3.w;
88 Result[0][3] = v4.x;
89 Result[1][3] = v4.y;
90 Result[2][3] = v4.z;
91 Result[3][3] = v4.w;
92 return Result;
93 }
94
95 template<typename T, qualifier Q>
96 GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rowMajor4(
97 const mat<4, 4, T, Q>& m)
98 {
99 mat<4, 4, T, Q> Result;
100 Result[0][0] = m[0][0];
101 Result[0][1] = m[1][0];
102 Result[0][2] = m[2][0];
103 Result[0][3] = m[3][0];
104 Result[1][0] = m[0][1];
105 Result[1][1] = m[1][1];
106 Result[1][2] = m[2][1];
107 Result[1][3] = m[3][1];
108 Result[2][0] = m[0][2];
109 Result[2][1] = m[1][2];
110 Result[2][2] = m[2][2];
111 Result[2][3] = m[3][2];
112 Result[3][0] = m[0][3];
113 Result[3][1] = m[1][3];
114 Result[3][2] = m[2][3];
115 Result[3][3] = m[3][3];
116 return Result;
117 }
118
119 template<typename T, qualifier Q>
120 GLM_FUNC_QUALIFIER mat<2, 2, T, Q> colMajor2(
121 const vec<2, T, Q>& v1,
122 const vec<2, T, Q>& v2)
123 {
124 return mat<2, 2, T, Q>(v1, v2);
125 }
126
127 template<typename T, qualifier Q>
128 GLM_FUNC_QUALIFIER mat<2, 2, T, Q> colMajor2(
129 const mat<2, 2, T, Q>& m)
130 {
131 return mat<2, 2, T, Q>(m);
132 }
133
134 template<typename T, qualifier Q>
135 GLM_FUNC_QUALIFIER mat<3, 3, T, Q> colMajor3(
136 const vec<3, T, Q>& v1,
137 const vec<3, T, Q>& v2,
138 const vec<3, T, Q>& v3)
139 {
140 return mat<3, 3, T, Q>(v1, v2, v3);
141 }
142
143 template<typename T, qualifier Q>
144 GLM_FUNC_QUALIFIER mat<3, 3, T, Q> colMajor3(
145 const mat<3, 3, T, Q>& m)
146 {
147 return mat<3, 3, T, Q>(m);
148 }
149
150 template<typename T, qualifier Q>
151 GLM_FUNC_QUALIFIER mat<4, 4, T, Q> colMajor4(
152 const vec<4, T, Q>& v1,
153 const vec<4, T, Q>& v2,
154 const vec<4, T, Q>& v3,
155 const vec<4, T, Q>& v4)
156 {
157 return mat<4, 4, T, Q>(v1, v2, v3, v4);
158 }
159
160 template<typename T, qualifier Q>
161 GLM_FUNC_QUALIFIER mat<4, 4, T, Q> colMajor4(
162 const mat<4, 4, T, Q>& m)
163 {
164 return mat<4, 4, T, Q>(m);
165 }
166}//namespace glm
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4(vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
Definition matrix_major_storage.inl:69
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2(vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
Definition matrix_major_storage.inl:7
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4(vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
Definition matrix_major_storage.inl:151
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3(vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
Definition matrix_major_storage.inl:135
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3(vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
Definition matrix_major_storage.inl:33
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2(vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
Definition matrix_major_storage.inl:120
Core features
Definition common.hpp:21
Definition qualifier.hpp:36
Definition qualifier.hpp:35