diff --git a/sway/desktop/fx_renderer.c b/sway/desktop/fx_renderer.c index 90601351..abc6d934 100644 --- a/sway/desktop/fx_renderer.c +++ b/sway/desktop/fx_renderer.c @@ -625,8 +625,7 @@ void fx_render_box_shadow(struct fx_renderer *renderer, const struct wlr_box *bo glUseProgram(renderer->shaders.box_shadow.program); glUniformMatrix3fv(renderer->shaders.box_shadow.proj, 1, GL_FALSE, gl_matrix); - glUniform3f(renderer->shaders.box_shadow.color, color[0], color[1], color[2]); - glUniform1f(renderer->shaders.box_shadow.alpha, color[3]); + glUniform4f(renderer->shaders.box_shadow.color, color[0], color[1], color[2], color[3]); glUniform1f(renderer->shaders.box_shadow.blur_sigma, blur_sigma); glUniform1f(renderer->shaders.box_shadow.corner_radius, corner_radius); diff --git a/sway/desktop/shaders/box_shadow.frag b/sway/desktop/shaders/box_shadow.frag index be385742..c9b2b91f 100644 --- a/sway/desktop/shaders/box_shadow.frag +++ b/sway/desktop/shaders/box_shadow.frag @@ -1,9 +1,9 @@ // Writeup: https://madebyevan.com/shaders/fast-rounded-rectangle-shadows/ precision mediump float; +varying vec4 v_color; varying vec2 v_texcoord; -uniform vec3 color; uniform vec2 position; uniform vec2 size; uniform float blur_sigma; @@ -70,6 +70,5 @@ void main() { // dither the alpha to break up color bands frag_alpha += (random() - 0.5) / 128.0; - gl_FragColor = vec4(color, frag_alpha); + gl_FragColor = vec4(v_color.rgb, frag_alpha); } -