diff options
author | Sergeanur <s.anureev@yandex.ua> | 2021-01-18 20:06:59 +0100 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2021-01-18 20:06:59 +0100 |
commit | 91093305d65305722e380c0087c71469363a8396 (patch) | |
tree | b589257deee2ecccf0617601da97c82fbb8385f5 /src/math/Vector.cpp | |
parent | sync milessdk with re3mss (diff) | |
download | re3-91093305d65305722e380c0087c71469363a8396.tar re3-91093305d65305722e380c0087c71469363a8396.tar.gz re3-91093305d65305722e380c0087c71469363a8396.tar.bz2 re3-91093305d65305722e380c0087c71469363a8396.tar.lz re3-91093305d65305722e380c0087c71469363a8396.tar.xz re3-91093305d65305722e380c0087c71469363a8396.tar.zst re3-91093305d65305722e380c0087c71469363a8396.zip |
Diffstat (limited to 'src/math/Vector.cpp')
-rw-r--r-- | src/math/Vector.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/math/Vector.cpp b/src/math/Vector.cpp index 42e1828e..3bc395d8 100644 --- a/src/math/Vector.cpp +++ b/src/math/Vector.cpp @@ -23,24 +23,24 @@ CVector Multiply3x3(const CMatrix &mat, const CVector &vec) { // TODO: VU0 code - return CVector(mat.m_matrix.right.x * vec.x + mat.m_matrix.up.x * vec.y + mat.m_matrix.at.x * vec.z, - mat.m_matrix.right.y * vec.x + mat.m_matrix.up.y * vec.y + mat.m_matrix.at.y * vec.z, - mat.m_matrix.right.z * vec.x + mat.m_matrix.up.z * vec.y + mat.m_matrix.at.z * vec.z); + return CVector(mat.right.x * vec.x + mat.forward.x * vec.y + mat.up.x * vec.z, + mat.right.y * vec.x + mat.forward.y * vec.y + mat.up.y * vec.z, + mat.right.z * vec.x + mat.forward.z * vec.y + mat.up.z * vec.z); } CVector Multiply3x3(const CVector &vec, const CMatrix &mat) { - return CVector(mat.m_matrix.right.x * vec.x + mat.m_matrix.right.y * vec.y + mat.m_matrix.right.z * vec.z, - mat.m_matrix.up.x * vec.x + mat.m_matrix.up.y * vec.y + mat.m_matrix.up.z * vec.z, - mat.m_matrix.at.x * vec.x + mat.m_matrix.at.y * vec.y + mat.m_matrix.at.z * vec.z); + return CVector(mat.right.x * vec.x + mat.right.y * vec.y + mat.right.z * vec.z, + mat.forward.x * vec.x + mat.forward.y * vec.y + mat.forward.z * vec.z, + mat.up.x * vec.x + mat.up.y * vec.y + mat.up.z * vec.z); } CVector operator*(const CMatrix &mat, const CVector &vec) { // TODO: VU0 code - return CVector(mat.m_matrix.right.x * vec.x + mat.m_matrix.up.x * vec.y + mat.m_matrix.at.x * vec.z + mat.m_matrix.pos.x, - mat.m_matrix.right.y * vec.x + mat.m_matrix.up.y * vec.y + mat.m_matrix.at.y * vec.z + mat.m_matrix.pos.y, - mat.m_matrix.right.z * vec.x + mat.m_matrix.up.z * vec.y + mat.m_matrix.at.z * vec.z + mat.m_matrix.pos.z); + return CVector(mat.right.x * vec.x + mat.forward.x * vec.y + mat.up.x * vec.z + mat.pos.x, + mat.right.y * vec.x + mat.forward.y * vec.y + mat.up.y * vec.z + mat.pos.y, + mat.right.z * vec.x + mat.forward.z * vec.y + mat.up.z * vec.z + mat.pos.z); } |