From e558799702df2b56b5503743a31e432b21622459 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Fri, 15 Jan 2021 17:59:25 +0300 Subject: [PATCH] Fix gfx::light/dark: shouldn't affect color alpha --- libs/gfx/include/psemek/gfx/color.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libs/gfx/include/psemek/gfx/color.hpp b/libs/gfx/include/psemek/gfx/color.hpp index 98998c87..74c5b37a 100644 --- a/libs/gfx/include/psemek/gfx/color.hpp +++ b/libs/gfx/include/psemek/gfx/color.hpp @@ -105,7 +105,8 @@ namespace psemek::gfx template geom::vector light(geom::vector c, float lightness = 0.5f) { - for (std::size_t i = 0; i < N; ++i) + static_assert(N == 3 || N == 4); + for (std::size_t i = 0; i < 3; ++i) c[i] = geom::lerp(c[i], 1.f, lightness); return c; } @@ -113,7 +114,8 @@ namespace psemek::gfx template geom::vector dark(geom::vector c, float darkness = 0.5f) { - for (std::size_t i = 0; i < N; ++i) + static_assert(N == 3 || N == 4); + for (std::size_t i = 0; i < 3; ++i) c[i] = geom::lerp(c[i], 0.f, darkness); return c; }