45 v1.
x, v1.
y, v1.
z, v1.
w,
46 v2.
x, v2.
y, v2.
z, v2.
w,
47 v3.
x, v3.
y, v3.
z, v3.
w,
48 v4.
x, v4.
y, v4.
z, v4.
w,
58 m[0] += mIn.
m[0]; m[1] += mIn.
m[1]; m[2] += mIn.
m[2]; m[3] += mIn.
m[3];
59 m[4] += mIn.
m[4]; m[5] += mIn.
m[5]; m[6] += mIn.
m[6]; m[7] += mIn.
m[7];
60 m[8] += mIn.
m[8]; m[9] += mIn.
m[9]; m[10] += mIn.
m[10]; m[11] += mIn.
m[11];
61 m[12] += mIn.
m[12]; m[13] += mIn.
m[13]; m[14] += mIn.
m[14]; m[15] += mIn.
m[15];
72 m[0] -= mIn.
m[0]; m[1] -= mIn.
m[1]; m[2] -= mIn.
m[2]; m[3] -= mIn.
m[3];
73 m[4] -= mIn.
m[4]; m[5] -= mIn.
m[5]; m[6] -= mIn.
m[6]; m[7] -= mIn.
m[7];
74 m[8] -= mIn.
m[8]; m[9] -= mIn.
m[9]; m[10] -= mIn.
m[10]; m[11] -= mIn.
m[11];
75 m[12] -= mIn.
m[12]; m[13] -= mIn.
m[13]; m[14] -= mIn.
m[14]; m[15] -= mIn.
m[15];
84 m[0] = 1.0f; m[1] = 0.0f; m[2] = 0.0f; m[3] = 0.0f;
85 m[4] = 0.0f; m[5] = 1.0f; m[6] = 0.0f; m[7] = 0.0f;
86 m[8] = 0.0f; m[9] = 0.0f; m[10] = 1.0f; m[11] = 0.0f;
87 m[12] = 0.0f; m[13] = 0.0f; m[14] = 0.0f; m[15] = 1.0f;
99 float const a = tanf(fovy / 2.0f);
101 m[0] = 1.0f / (aspect * a); m[1] = 0.0f; m[2] = 0.0f; m[3] = 0.0f;
102 m[4] = 0.0f; m[5] = 1.0f / a; m[6] = 0.0f; m[7] = 0.0f;
103 m[8] = 0.0f; m[9] = 0.0f; m[10] = -((f + n) / (f - n)); m[11] = -((2.0f * f * n) / (f - n));
104 m[12] = 0.0f; m[13] = 0.0f; m[14] = -1.0f; m[15] = 0.0f;
187 mOut.
m[0] = mIn.
m[0] + s; mOut.
m[1] = mIn.
m[1] + s; mOut.
m[2] = mIn.
m[2] + s; mOut.
m[3] = mIn.
m[3] + s;
188 mOut.
m[4] = mIn.
m[4] + s; mOut.
m[5] = mIn.
m[5] + s; mOut.
m[6] = mIn.
m[6] + s; mOut.
m[7] = mIn.
m[7] + s;
189 mOut.
m[8] = mIn.
m[8] + s; mOut.
m[9] = mIn.
m[9] + s; mOut.
m[10] = mIn.
m[10] + s; mOut.
m[11] = mIn.
m[11] + s;
190 mOut.
m[12] = mIn.
m[12] + s; mOut.
m[13] = mIn.
m[13] + s; mOut.
m[14] = mIn.
m[14] + s; mOut.
m[15] = mIn.
m[15] + s;
203 mOut.
m[0] = mInA.
m[0] + mInB.
m[0]; mOut.
m[1] = mInA.
m[1] + mInB.
m[1]; mOut.
m[2] = mInA.
m[2] + mInB.
m[2]; mOut.
m[3] = mInA.
m[3] + mInB.
m[3];
204 mOut.
m[4] = mInA.
m[4] + mInB.
m[4]; mOut.
m[5] = mInA.
m[5] + mInB.
m[5]; mOut.
m[6] = mInA.
m[6] + mInB.
m[6]; mOut.
m[7] = mInA.
m[7] + mInB.
m[7];
205 mOut.
m[8] = mInA.
m[8] + mInB.
m[8]; mOut.
m[9] = mInA.
m[9] + mInB.
m[9]; mOut.
m[10] = mInA.
m[10] + mInB.
m[10]; mOut.
m[11] = mInA.
m[11] + mInB.
m[11];
206 mOut.
m[12] = mInA.
m[12] + mInB.
m[12]; mOut.
m[13] = mInA.
m[13] + mInB.
m[13]; mOut.
m[14] = mInA.
m[14] + mInB.
m[14]; mOut.
m[15] = mInA.
m[15] + mInB.
m[15];
219 mOut.
m[0] = mInA.
m[0] - s; mOut.
m[1] = mInA.
m[1] - s; mOut.
m[2] = mInA.
m[2] - s; mOut.
m[3] = mInA.
m[3] - s;
220 mOut.
m[4] = mInA.
m[4] - s; mOut.
m[5] = mInA.
m[5] - s; mOut.
m[6] = mInA.
m[6] - s; mOut.
m[7] = mInA.
m[7] - s;
221 mOut.
m[8] = mInA.
m[8] - s; mOut.
m[9] = mInA.
m[9] - s; mOut.
m[10] = mInA.
m[10] - s; mOut.
m[11] = mInA.
m[11] - s;
222 mOut.
m[12] = mInA.
m[12] - s; mOut.
m[13] = mInA.
m[13] - s; mOut.
m[14] = mInA.
m[14] - s; mOut.
m[15] = mInA.
m[15] - s;
235 mOut.
m[0] = mInA.
m[0] - mInB.
m[0]; mOut.
m[1] = mInA.
m[1] - mInB.
m[1]; mOut.
m[2] = mInA.
m[2] - mInB.
m[2]; mOut.
m[3] = mInA.
m[3] - mInB.
m[3];
236 mOut.
m[4] = mInA.
m[4] - mInB.
m[4]; mOut.
m[5] = mInA.
m[5] - mInB.
m[5]; mOut.
m[6] = mInA.
m[6] - mInB.
m[6]; mOut.
m[7] = mInA.
m[7] - mInB.
m[7];
237 mOut.
m[8] = mInA.
m[8] - mInB.
m[8]; mOut.
m[9] = mInA.
m[9] - mInB.
m[9]; mOut.
m[10] = mInA.
m[10] - mInB.
m[10]; mOut.
m[11] = mInA.
m[11] - mInB.
m[11];
238 mOut.
m[12] = mInA.
m[12] - mInB.
m[12]; mOut.
m[13] = mInA.
m[13] - mInB.
m[13]; mOut.
m[14] = mInA.
m[14] - mInB.
m[14]; mOut.
m[15] = mInA.
m[15] - mInB.
m[15];
251 mOut.
m[0] = mInA.
m[0] * s; mOut.
m[1] = mInA.
m[1] * s; mOut.
m[2] = mInA.
m[2] * s; mOut.
m[3] = mInA.
m[3] * s;
252 mOut.
m[4] = mInA.
m[4] * s; mOut.
m[5] = mInA.
m[5] * s; mOut.
m[6] = mInA.
m[6] * s; mOut.
m[7] = mInA.
m[7] * s;
253 mOut.
m[8] = mInA.
m[8] * s; mOut.
m[9] = mInA.
m[9] * s; mOut.
m[10] = mInA.
m[10] * s; mOut.
m[11] = mInA.
m[11] * s;
254 mOut.
m[12] = mInA.
m[12] * s; mOut.
m[13] = mInA.
m[13] * s; mOut.
m[14] = mInA.
m[14] * s; mOut.
m[15] = mInA.
m[15] * s;
271 mOut.
m[0] = (mInA.
m[0] * mInB.
m[0]) + (mInA.
m[1] * mInB.
m[4]) + (mInA.
m[2] * mInB.
m[8]) + (mInA.
m[3] * mInB.
m[12]);
273 mOut.
m[1] = (mInA.
m[0] * mInB.
m[1]) + (mInA.
m[1] * mInB.
m[5]) + (mInA.
m[2] * mInB.
m[9]) + (mInA.
m[3] * mInB.
m[13]);
275 mOut.
m[2] = (mInA.
m[0] * mInB.
m[2]) + (mInA.
m[1] * mInB.
m[6]) + (mInA.
m[2] * mInB.
m[10]) + (mInA.
m[3] * mInB.
m[14]);
277 mOut.
m[3] = (mInA.
m[0] * mInB.
m[3]) + (mInA.
m[1] * mInB.
m[7]) + (mInA.
m[2] * mInB.
m[11]) + (mInA.
m[3] * mInB.
m[15]);
281 mOut.
m[4] = (mInA.
m[4] * mInB.
m[0]) + (mInA.
m[5] * mInB.
m[4]) + (mInA.
m[6] * mInB.
m[8]) + (mInA.
m[7] * mInB.
m[12]);
283 mOut.
m[5] = (mInA.
m[4] * mInB.
m[1]) + (mInA.
m[5] * mInB.
m[5]) + (mInA.
m[6] * mInB.
m[9]) + (mInA.
m[7] * mInB.
m[13]);
285 mOut.
m[6] = (mInA.
m[4] * mInB.
m[2]) + (mInA.
m[5] * mInB.
m[6]) + (mInA.
m[6] * mInB.
m[10]) + (mInA.
m[7] * mInB.
m[14]);
287 mOut.
m[7] = (mInA.
m[4] * mInB.
m[3]) + (mInA.
m[5] * mInB.
m[7]) + (mInA.
m[6] * mInB.
m[11]) + (mInA.
m[7] * mInB.
m[15]);
291 mOut.
m[8] = (mInA.
m[8] * mInB.
m[0]) + (mInA.
m[9] * mInB.
m[4]) + (mInA.
m[10] * mInB.
m[8]) + (mInA.
m[11] * mInB.
m[12]);
293 mOut.
m[9] = (mInA.
m[8] * mInB.
m[1]) + (mInA.
m[9] * mInB.
m[5]) + (mInA.
m[10] * mInB.
m[9]) + (mInA.
m[11] * mInB.
m[13]);
295 mOut.
m[10] = (mInA.
m[8] * mInB.
m[2]) + (mInA.
m[9] * mInB.
m[6]) + (mInA.
m[10] * mInB.
m[10]) + (mInA.
m[11] * mInB.
m[14]);
297 mOut.
m[11] = (mInA.
m[8] * mInB.
m[3]) + (mInA.
m[9] * mInB.
m[7]) + (mInA.
m[10] * mInB.
m[11]) + (mInA.
m[11] * mInB.
m[15]);
301 mOut.
m[12] = (mInA.
m[12] * mInB.
m[0]) + (mInA.
m[13] * mInB.
m[4]) + (mInA.
m[14] * mInB.
m[8]) + (mInA.
m[15] * mInB.
m[12]);
303 mOut.
m[13] = (mInA.
m[12] * mInB.
m[1]) + (mInA.
m[13] * mInB.
m[5]) + (mInA.
m[14] * mInB.
m[9]) + (mInA.
m[15] * mInB.
m[13]);
305 mOut.
m[14] = (mInA.
m[12] * mInB.
m[2]) + (mInA.
m[13] * mInB.
m[6]) + (mInA.
m[14] * mInB.
m[10]) + (mInA.
m[15] * mInB.
m[14]);
307 mOut.
m[15] = (mInA.
m[12] * mInB.
m[3]) + (mInA.
m[13] * mInB.
m[7]) + (mInA.
m[14] * mInB.
m[11]) + (mInA.
m[15] * mInB.
m[15]);
float z
Definition: Vec4.h:19
void rotateAlongX(Mat4 &matrix, float angle)
Rotate the matrix using the angle of rotation along the x axis.
Definition: Mat4.cpp:46
void rotatePointAroundZAxis(Mat4 &matrix, Maths::Vec3 axisPoint, float angle)
Definition: Mat4.cpp:115
void rotateAlongY(Mat4 &matrix, float angle)
Rotate the matrix using the angle of rotation along the y axis.
Definition: Mat4.cpp:61
Vec3 getPos()
Gets the position of the matrix.
Definition: Mat4.h:166
Contains the Vec3 structure with functions and overloaded operators.
Definition: Vec3.h:16
Mat4()
Constructs the Mat4 setting the values of the matrix to 0.
Definition: Mat4.h:29
Mat4(Vec4 v1, Vec4 v2, Vec4 v3, Vec4 v4)
Constructs the Mat4 setting the values to the input vectors.
Definition: Mat4.h:43
Mat4 operator-(Mat4 mInA, float s)
Overloads the - operator allowing a Mat4 to be added to a scalar.
Definition: Mat4.h:216
void scale(Mat4 &matrix, float sv)
Scales the matrix using the input vector.
Definition: Mat4.cpp:16
float m[16]
Definition: Mat4.h:24
float x
Position variables.
Definition: Vec4.h:19
void rotatePointAroundXAxis(Mat4 &matrix, Maths::Vec3 axisPoint, float angle)
Definition: Mat4.cpp:91
float y
Definition: Vec3.h:19
float w
Definition: Vec4.h:19
Contains the Vec4 structure with functions and overloaded operators.
Definition: Vec4.h:16
Mat4 operator*(Mat4 mInA, float s)
Overloads the * operator allowing a Mat4 to be multiplied to a scalar.
Definition: Mat4.h:248
Contains the Mat4 structure with functions and overloaded operators. This is row major.
Definition: Mat4.h:15
void rotateAlongZ(Mat4 &matrix, float angle)
Rotate the matrix using the angle of rotation along the z axis.
Definition: Mat4.cpp:76
Mat4 * operator-=(Mat4 mIn)
Overloads the -= operator.
Definition: Mat4.h:70
float * getMatrixArray()
A function to get a pointer to the first index of the array.
Definition: Mat4.h:172
void translate(Mat4 &matrix, Vec3 tv)
Translates the matrix using the input vector.
Definition: Mat4.cpp:31
void setAsPerspectiveMatrix(float fovy, float aspect, float n, float f)
Sets the values of the matrix to that of a Perspective matrix.
Definition: Mat4.h:97
Mat4 operator+(Mat4 mIn, float s)
Overloads the + operator allowing a Mat4 to be added to a scalar.
Definition: Mat4.h:184
float y
Definition: Vec4.h:19
void setAsIdentityMatrix()
Sets the values of the matrix to that of a identity matrix.
Definition: Mat4.h:82
The namespace for all maths code.
Definition: Convert.cpp:5
void rotatePointAroundYAxis(Mat4 &matrix, Maths::Vec3 axisPoint, float angle)
Definition: Mat4.cpp:103
void setPos(Vec3 pv)
Sets the position of the matrix using the input vector.
Definition: Mat4.h:111
float z
Definition: Vec3.h:19
Mat4 * operator+=(Mat4 mIn)
Overloads the += operator.
Definition: Mat4.h:56
float x
Position variables.
Definition: Vec3.h:19