summaryrefslogtreecommitdiffstats
path: root/core/color.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/color.h')
-rw-r--r--core/color.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/core/color.h b/core/color.h
index 972b6a1b33..da2bfdcd98 100644
--- a/core/color.h
+++ b/core/color.h
@@ -101,6 +101,24 @@ struct Color {
return res;
}
+ _FORCE_INLINE_ Color darkened(float p_amount) const {
+
+ Color res = *this;
+ res.r = CLAMP(res.r * (1.0f - p_amount), 0.0, 1.0);
+ res.g = CLAMP(res.g * (1.0f - p_amount), 0.0, 1.0);
+ res.b = CLAMP(res.b * (1.0f - p_amount), 0.0, 1.0);
+ return res;
+ }
+
+ _FORCE_INLINE_ Color lightened(float p_amount) const {
+
+ Color res = *this;
+ res.r = CLAMP(res.r + (1.0f - res.r) * p_amount, 0.0, 1.0);
+ res.g = CLAMP(res.g + (1.0f - res.g) * p_amount, 0.0, 1.0);
+ res.b = CLAMP(res.b + (1.0f - res.b) * p_amount, 0.0, 1.0);
+ return res;
+ }
+
_FORCE_INLINE_ uint32_t to_rgbe9995() const {
const float pow2to9 = 512.0f;