From 53c6af5b2113ca2b1fa45d2e4ecb9f705325af93 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Thu, 1 Jun 2023 17:03:55 +0200 Subject: [PATCH] shaders: Premultiply alpha --- src/backend/render/mod.rs | 13 +++++++++++-- src/shell/workspace.rs | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/backend/render/mod.rs b/src/backend/render/mod.rs index 370427c0..129d33c3 100644 --- a/src/backend/render/mod.rs +++ b/src/backend/render/mod.rs @@ -217,7 +217,10 @@ impl IndicatorShader { None, //TODO alpha, vec![ - Uniform::new("color", color), + Uniform::new( + "color", + [color[0] * alpha, color[1] * alpha, color[2] * alpha], + ), Uniform::new("thickness", thickness), Uniform::new("radius", radius as f32), ], @@ -293,7 +296,13 @@ impl BackdropShader { geo, None, // TODO alpha, - vec![Uniform::new("color", color), Uniform::new("radius", radius)], + vec![ + Uniform::new( + "color", + [color[0] * alpha, color[1] * alpha, color[2] * alpha], + ), + Uniform::new("radius", radius), + ], ); cache.insert(key.clone(), (settings, elem)); } diff --git a/src/shell/workspace.rs b/src/shell/workspace.rs index 84d5ee15..dc54b3d8 100644 --- a/src/shell/workspace.rs +++ b/src/shell/workspace.rs @@ -634,7 +634,7 @@ impl Workspace { self.backdrop_id.clone(), zone, 0., - alpha * 0.65, + alpha * 0.85, [0.0, 0.0, 0.0], )) .into(),