diff options
| author | Matthew Kosarek <matthew.kosarek@vention.cc> | 2021-03-02 20:03:02 -0500 |
|---|---|---|
| committer | Matthew Kosarek <matthew.kosarek@vention.cc> | 2021-03-02 20:03:02 -0500 |
| commit | a315509189073cdaf4172bcfd4e4a54e5c8c87eb (patch) | |
| tree | 2fc57ae4c86d430a3478e012ae10bacee0b7ba41 /frontend/_shared/math/mat4.js | |
| parent | d1b528b01796601c2bfea7b1a9813e5907e1c728 (diff) | |
Updated stylings and very nearly have square collisions complete and proper
Diffstat (limited to 'frontend/_shared/math/mat4.js')
| -rw-r--r-- | frontend/_shared/math/mat4.js | 20 |
1 files changed, 20 insertions, 0 deletions
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 |
