From a315509189073cdaf4172bcfd4e4a54e5c8c87eb Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 2 Mar 2021 20:03:02 -0500 Subject: Updated stylings and very nearly have square collisions complete and proper --- frontend/_shared/math/mat4.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'frontend/_shared/math/mat4.js') diff --git a/frontend/_shared/math/mat4.js b/frontend/_shared/math/mat4.js index 6ab29e2..d31a20e 100644 --- a/frontend/_shared/math/mat4.js +++ b/frontend/_shared/math/mat4.js @@ -40,4 +40,24 @@ function scaleMatrix(m, x, y, z) { m[5] = m[5] * y; m[10] = m[10] * z; return m; +} + +function multMat4ByVec2(matrix, vec) { + var lInnerVec = {...vec}; + lInnerVec.z = 0.0; + lInnerVec.w = 1.0; + + return { + x: lInnerVec.x * matrix[0] + lInnerVec.y * matrix[4] + lInnerVec.z * matrix[8] + lInnerVec.w * matrix[12], + y: lInnerVec.x * matrix[1] + lInnerVec.y * matrix[5] + lInnerVec.z * matrix[9] + lInnerVec.w * matrix[13] + }; +} + +function multMat4ByVec4(matrix, vec) { + return { + x: vec.x * matrix[0] + vec.y * matrix[4] + vec.z * matrix[8] + vec.w * matrix[12], + y: vec.x * matrix[1] + vec.y * matrix[5] + vec.z * matrix[9] + vec.w * matrix[13], + z: vec.x * matrix[2] + vec.y * matrix[6] + vec.z * matrix[10] + vec.w * matrix[14], + w: vec.x * matrix[3] + vec.y * matrix[7] + vec.z * matrix[11] + vec.w * matrix[15] + }; } \ No newline at end of file -- cgit v1.2.1