@@ -80,6 +80,15 @@ struct Matrix {
80
80
// clang-format on
81
81
}
82
82
83
+ static constexpr Matrix MakeSkew (Scalar sx, Scalar sy) {
84
+ // clang-format off
85
+ return Matrix (1.0 , sy , 0.0 , 0.0 ,
86
+ sx , 1.0 , 0.0 , 0.0 ,
87
+ 0.0 , 0.0 , 1.0 , 0.0 ,
88
+ 0.0 , 0.0 , 0.0 , 1.0 );
89
+ // clang-format on
90
+ }
91
+
83
92
static Matrix MakeRotation (Scalar radians, const Vector4& r) {
84
93
const Vector4 v = r.Normalize ();
85
94
@@ -112,8 +121,8 @@ struct Matrix {
112
121
}
113
122
114
123
static Matrix MakeRotationX (Radians r) {
115
- Scalar cosine = cos (r.radians );
116
- Scalar sine = sin (r.radians );
124
+ const Scalar cosine = cos (r.radians );
125
+ const Scalar sine = sin (r.radians );
117
126
// clang-format off
118
127
return Matrix (
119
128
1.0 , 0.0 , 0.0 , 0.0 ,
@@ -125,8 +134,8 @@ struct Matrix {
125
134
}
126
135
127
136
static Matrix MakeRotationY (Radians r) {
128
- Scalar cosine = cos (r.radians );
129
- Scalar sine = sin (r.radians );
137
+ const Scalar cosine = cos (r.radians );
138
+ const Scalar sine = sin (r.radians );
130
139
131
140
// clang-format off
132
141
return Matrix (
@@ -139,8 +148,8 @@ struct Matrix {
139
148
}
140
149
141
150
static Matrix MakeRotationZ (Radians r) {
142
- Scalar cosine = cos (r.radians );
143
- Scalar sine = sin (r.radians );
151
+ const Scalar cosine = cos (r.radians );
152
+ const Scalar sine = sin (r.radians );
144
153
145
154
// clang-format off
146
155
return Matrix (
@@ -196,12 +205,14 @@ struct Matrix {
196
205
}
197
206
198
207
constexpr Matrix Transpose () const {
208
+ // clang-format off
199
209
return {
200
- m[0 ], m[4 ], m[8 ], m[12 ], //
201
- m[1 ], m[5 ], m[9 ], m[13 ], //
202
- m[2 ], m[6 ], m[10 ], m[14 ], //
203
- m[3 ], m[7 ], m[11 ], m[15 ], //
210
+ m[0 ], m[4 ], m[8 ], m[12 ],
211
+ m[1 ], m[5 ], m[9 ], m[13 ],
212
+ m[2 ], m[6 ], m[10 ], m[14 ],
213
+ m[3 ], m[7 ], m[11 ], m[15 ],
204
214
};
215
+ // clang-format on
205
216
}
206
217
207
218
Matrix Invert () const ;
0 commit comments