diff options
| author | 2023-05-06 23:09:55 -0400 | |
|---|---|---|
| committer | 2023-05-06 23:09:55 -0400 | |
| commit | 9c9b4616c3eda641f3d370758587fa776fa1a87e (patch) | |
| tree | d081194e1ea0b673a1cc01f7c00846374da70594 /src/common/vector_math.h | |
| parent | Merge pull request #10178 from ronikirla/2-hour-crash (diff) | |
| parent | input_common: Add property to invert an axis button (diff) | |
| download | yuzu-9c9b4616c3eda641f3d370758587fa776fa1a87e.tar.gz yuzu-9c9b4616c3eda641f3d370758587fa776fa1a87e.tar.xz yuzu-9c9b4616c3eda641f3d370758587fa776fa1a87e.zip | |
Merge pull request #10167 from german77/motion_preview
yuzu: Add motion preview to controller input
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..b4885835d 100644 --- a/src/common/vector_math.h +++ b/src/common/vector_math.h | |||
| @@ -259,6 +259,20 @@ public: | |||
| 259 | return *this; | 259 | return *this; |
| 260 | } | 260 | } |
| 261 | 261 | ||
| 262 | void RotateFromOrigin(float roll, float pitch, float yaw) { | ||
| 263 | float temp = y; | ||
| 264 | y = std::cos(roll) * y - std::sin(roll) * z; | ||
| 265 | z = std::sin(roll) * temp + std::cos(roll) * z; | ||
| 266 | |||
| 267 | temp = x; | ||
| 268 | x = std::cos(pitch) * x + std::sin(pitch) * z; | ||
| 269 | z = -std::sin(pitch) * temp + std::cos(pitch) * z; | ||
| 270 | |||
| 271 | temp = x; | ||
| 272 | x = std::cos(yaw) * x - std::sin(yaw) * y; | ||
| 273 | y = std::sin(yaw) * temp + std::cos(yaw) * y; | ||
| 274 | } | ||
| 275 | |||
| 262 | [[nodiscard]] constexpr T Length2() const { | 276 | [[nodiscard]] constexpr T Length2() const { |
| 263 | return x * x + y * y + z * z; | 277 | return x * x + y * y + z * z; |
| 264 | } | 278 | } |