diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/math/aabb.cpp | 16 | ||||
-rw-r--r-- | core/math/color.h | 4 | ||||
-rw-r--r-- | core/variant/variant_call.cpp | 1 |
3 files changed, 13 insertions, 8 deletions
diff --git a/core/math/aabb.cpp b/core/math/aabb.cpp index 83726f46b5..0468d1e68b 100644 --- a/core/math/aabb.cpp +++ b/core/math/aabb.cpp @@ -286,14 +286,14 @@ int AABB::get_longest_axis_index() const { Vector3 AABB::get_shortest_axis() const { Vector3 axis(1, 0, 0); - real_t max_size = size.x; + real_t min_size = size.x; - if (size.y < max_size) { + if (size.y < min_size) { axis = Vector3(0, 1, 0); - max_size = size.y; + min_size = size.y; } - if (size.z < max_size) { + if (size.z < min_size) { axis = Vector3(0, 0, 1); } @@ -302,14 +302,14 @@ Vector3 AABB::get_shortest_axis() const { int AABB::get_shortest_axis_index() const { int axis = 0; - real_t max_size = size.x; + real_t min_size = size.x; - if (size.y < max_size) { + if (size.y < min_size) { axis = 1; - max_size = size.y; + min_size = size.y; } - if (size.z < max_size) { + if (size.z < min_size) { axis = 2; } diff --git a/core/math/color.h b/core/math/color.h index ffd0fd8f6e..815dd98d96 100644 --- a/core/math/color.h +++ b/core/math/color.h @@ -94,6 +94,10 @@ struct Color { void invert(); Color inverted() const; + _FORCE_INLINE_ float get_luminance() const { + return 0.2126 * r + 0.7152 * g + 0.0722 * b; + } + _FORCE_INLINE_ Color lerp(const Color &p_to, float p_weight) const { Color res = *this; diff --git a/core/variant/variant_call.cpp b/core/variant/variant_call.cpp index 51b9119933..d2bda34818 100644 --- a/core/variant/variant_call.cpp +++ b/core/variant/variant_call.cpp @@ -1644,6 +1644,7 @@ static void _register_variant_builtin_methods() { bind_method(Color, lightened, sarray("amount"), varray()); bind_method(Color, darkened, sarray("amount"), varray()); bind_method(Color, blend, sarray("over"), varray()); + bind_method(Color, get_luminance, sarray(), varray()); bind_method(Color, is_equal_approx, sarray("to"), varray()); |