diff options
author | Kirill Chibisov <contact@kchibisov.com> | 2022-02-09 17:41:57 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-09 17:41:57 +0300 |
commit | 59f16f6b1568d95e7b183c75742c537b3f09a47d (patch) | |
tree | 59718fc80cc698fcbdcc49073a0255d4296e5bf1 | |
parent | 73c3dd86280e98e11f080123aec47d08f3a76b49 (diff) | |
download | alacritty-59f16f6b1568d95e7b183c75742c537b3f09a47d.tar.gz alacritty-59f16f6b1568d95e7b183c75742c537b3f09a47d.zip |
Fix alpha when using `colors.transparent_background_colors`
The alpha is expected to be premultiplied from the text shader, so
we should apply it to the background color.
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | alacritty/res/text.f.glsl | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 93963d8b..83aa152e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - `font.glyph_offset` is no longer applied on builtin font - Buili-in font arcs alignment - Repeated permission prompts on M1 macs +- Colors being slightly off when using `colors.transparent_background_colors` ## 0.10.0 diff --git a/alacritty/res/text.f.glsl b/alacritty/res/text.f.glsl index 5b4e3da6..3b8cd67c 100644 --- a/alacritty/res/text.f.glsl +++ b/alacritty/res/text.f.glsl @@ -18,7 +18,9 @@ void main() { } alphaMask = vec4(1.0); - color = vec4(bg.rgb, bg.a); + + // Premultiply background color by alpha. + color = vec4(bg.rgb * bg.a, bg.a); } else if ((int(fg.a) & COLORED) != 0) { // Color glyphs, like emojis. vec4 glyphColor = texture(mask, TexCoords); |