diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2023-05-05 20:29:26 +0200 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2023-05-05 21:53:38 +0200 |
commit | 46e835f2d6531baea061a2723d171a2f5a1abf6a (patch) | |
tree | dab41bff4babe44fd5850c6f5042090d7179bf82 /src/common/vector_math.h | |
parent | Merge pull request #10153 from FernandoS27/a-quickie-fixie (diff) | |
download | yuzu-46e835f2d6531baea061a2723d171a2f5a1abf6a.tar yuzu-46e835f2d6531baea061a2723d171a2f5a1abf6a.tar.gz yuzu-46e835f2d6531baea061a2723d171a2f5a1abf6a.tar.bz2 yuzu-46e835f2d6531baea061a2723d171a2f5a1abf6a.tar.lz yuzu-46e835f2d6531baea061a2723d171a2f5a1abf6a.tar.xz yuzu-46e835f2d6531baea061a2723d171a2f5a1abf6a.tar.zst yuzu-46e835f2d6531baea061a2723d171a2f5a1abf6a.zip |
Diffstat (limited to 'src/common/vector_math.h')
-rw-r--r-- | src/common/vector_math.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/common/vector_math.h b/src/common/vector_math.h index 0e2095c45..9a7d50abd 100644 --- a/src/common/vector_math.h +++ b/src/common/vector_math.h @@ -259,6 +259,20 @@ public: return *this; } + void RotateFromOrigin(float roll, float pitch, float yaw) { + float temp = y; + y = std::cos(roll) * y - std::sin(roll) * z; + z = std::sin(roll) * temp + std::cos(roll) * z; + + temp = x; + x = std::cosf(pitch) * x + std::sin(pitch) * z; + z = -std::sin(pitch) * temp + std::cos(pitch) * z; + + temp = x; + x = std::cos(yaw) * x - std::sin(yaw) * y; + y = std::sin(yaw) * temp + std::cos(yaw) * y; + } + [[nodiscard]] constexpr T Length2() const { return x * x + y * y + z * z; } |