diff options
author | William McKinnon <[email protected]> | 2024-09-18 00:33:31 -0400 |
---|---|---|
committer | William McKinnon <[email protected]> | 2024-09-20 01:44:13 -0400 |
commit | bf8c9d6745a0e9054dca28d865df97479767c5a8 (patch) | |
tree | 7a75657dc9a644085fdbfd36c5a8df1c1f9275dc /render/fx_renderer | |
parent | 9b30e2d5e97c455d5a8c0e6b5e37ce50a4e3db81 (diff) |
shadow premultiply
Diffstat (limited to 'render/fx_renderer')
-rw-r--r-- | render/fx_renderer/fx_pass.c | 3 | ||||
-rw-r--r-- | render/fx_renderer/gles2/shaders/box_shadow.frag | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/render/fx_renderer/fx_pass.c b/render/fx_renderer/fx_pass.c index dd45535..627f142 100644 --- a/render/fx_renderer/fx_pass.c +++ b/render/fx_renderer/fx_pass.c @@ -489,8 +489,7 @@ void fx_render_pass_add_box_shadow(struct fx_gles_render_pass *pass, glUniform2f(renderer->shaders.box_shadow.size, shadow_box.width, shadow_box.height); glUniform2f(renderer->shaders.box_shadow.position, shadow_box.x, shadow_box.y); - render(&shadow_box, &render_region, renderer->shaders.box_shadow.pos_attrib); - + render(&shadow_box, options->clip, renderer->shaders.box_shadow.pos_attrib); pixman_region32_fini(&render_region); glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); diff --git a/render/fx_renderer/gles2/shaders/box_shadow.frag b/render/fx_renderer/gles2/shaders/box_shadow.frag index 9ab9937..e98cf92 100644 --- a/render/fx_renderer/gles2/shaders/box_shadow.frag +++ b/render/fx_renderer/gles2/shaders/box_shadow.frag @@ -82,5 +82,5 @@ void main() { // get the window alpha so we can render around the window float window_alpha = 1.0 - smoothstep(-1.0, 1.0, roundRectSDF((size * 0.5) - blur_sigma, position + blur_sigma, corner_radius)); - gl_FragColor = vec4(v_color.rgb, shadow_alpha * (1.0 - window_alpha)); + gl_FragColor = vec4(v_color.rgb, shadow_alpha) * (1.0 - window_alpha); } |