aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/je_color.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-10-23 22:09:22 +0800
committerchai <chaifix@163.com>2018-10-23 22:09:22 +0800
commitd74e03063095d43c654fa52c3868f7ef8fce69f1 (patch)
treeee91251c170edafacca3d3242e5b44444fb70e79 /src/libjin/Graphics/je_color.h
parent6551adeca70d4299a99d45245d4e13dbfdfa87e5 (diff)
*粒子系统
Diffstat (limited to 'src/libjin/Graphics/je_color.h')
-rw-r--r--src/libjin/Graphics/je_color.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libjin/Graphics/je_color.h b/src/libjin/Graphics/je_color.h
index 8fe7691..10d2818 100644
--- a/src/libjin/Graphics/je_color.h
+++ b/src/libjin/Graphics/je_color.h
@@ -6,6 +6,8 @@
#include "../core/je_configuration.h"
#if defined(jin_graphics)
+#include "../math/je_math.h"
+
#include "../common/je_types.h"
#include "../utils/je_endian.h"
@@ -28,6 +30,25 @@ namespace JinEngine
static const Color MAGENTA;
static const Color YELLOW;
+ ///
+ /// Get lerp color with given factor.
+ ///
+ /// @param start Start color.
+ /// @param end End color.
+ /// @param t Factor of interplation.
+ /// @return Color after interplation.
+ ///
+ static Color lerp(Color start, Color end, float t)
+ {
+ t = Math::clamp<float>(t, 0, 1);
+ Color c;
+ c.r = Math::lerp(start.r, end.r, t);
+ c.g = Math::lerp(start.g, end.g, t);
+ c.b = Math::lerp(start.b, end.b, t);
+ c.a = Math::lerp(start.a, end.a, t);
+ return c;
+ }
+
///
///
///