From 1e2c597fb62a40e4401e53a4cc783a316365ca1c Mon Sep 17 00:00:00 2001 From: "Kearwood \"Kip\" Gilbert" Date: Mon, 19 Mar 2018 17:28:31 -0700 Subject: [PATCH] Added Matrix4::Identity(), Added Lerp (scalar.h) --- include/matrix4.h | 1 + include/scalar.h | 1 + src/matrix4.cpp | 7 +++++++ src/scalar.cpp | 5 +++++ 4 files changed, 14 insertions(+) diff --git a/include/matrix4.h b/include/matrix4.h index b58f097..5c787f8 100644 --- a/include/matrix4.h +++ b/include/matrix4.h @@ -107,6 +107,7 @@ public: static Matrix4 Translation(const Vector3 &v); static Matrix4 Rotation(const Vector3 &v); static Matrix4 Scaling(const Vector3 &v); + static Matrix4 Identity(); }; static_assert(std::is_pod::value, "kraken::Matrix4 must be a POD type."); diff --git a/include/scalar.h b/include/scalar.h index 5dd0423..dc74a55 100644 --- a/include/scalar.h +++ b/include/scalar.h @@ -35,6 +35,7 @@ namespace kraken { float SmoothStep(float a, float b, float t); + float Lerp(float a, float b, float t); }; // namespace kraken diff --git a/src/matrix4.cpp b/src/matrix4.cpp index e0be521..eec7cea 100644 --- a/src/matrix4.cpp +++ b/src/matrix4.cpp @@ -441,5 +441,12 @@ Matrix4 Matrix4::Scaling(const Vector3 &v) return m; } +Matrix4 Matrix4::Identity() +{ + Matrix4 m; + m.init(); + return m; +} + } // namespace kraken diff --git a/src/scalar.cpp b/src/scalar.cpp index 5f6d374..aadf574 100644 --- a/src/scalar.cpp +++ b/src/scalar.cpp @@ -39,4 +39,9 @@ float SmoothStep(float a, float b, float t) return a * (1.0f - d) + b * d; } +float Lerp(float a, float b, float t) +{ + return (a + (b - a) * t); +} + } // namespace kraken