From bae1fb8c08ab5eb4d147a41405cd61eede1c0d34 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sat, 22 Jun 2024 01:16:51 +0300 Subject: [PATCH] Support overall primitive alpha in vecr::renderer --- libs/vecr/include/psemek/vecr/renderer.hpp | 1 + libs/vecr/source/renderer.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/libs/vecr/include/psemek/vecr/renderer.hpp b/libs/vecr/include/psemek/vecr/renderer.hpp index e984e1c1..6fcfc49b 100644 --- a/libs/vecr/include/psemek/vecr/renderer.hpp +++ b/libs/vecr/include/psemek/vecr/renderer.hpp @@ -13,6 +13,7 @@ namespace psemek::vecr { any mask = {}; float blur = 1.f; + float alpha = 1.f; any_colorizer colorizer = {}; blend_mode blend = vecr::blend; }; diff --git a/libs/vecr/source/renderer.cpp b/libs/vecr/source/renderer.cpp index 8c877ca6..4015e79e 100644 --- a/libs/vecr/source/renderer.cpp +++ b/libs/vecr/source/renderer.cpp @@ -81,6 +81,7 @@ namespace psemek::vecr auto color = colorize(primitive.colorizer, center, sample); color[3] *= blur; + color[3] *= primitive.alpha; canvas_(x, y) = gfx::to_coloru8(primitive.blend(gfx::to_colorf(canvas_(x, y)), color)); }