From f05626176636c49ba27c3ba2b69658f50c9b5730 Mon Sep 17 00:00:00 2001 From: Erik Reider <35975961+ErikReider@users.noreply.github.com> Date: Fri, 27 Sep 2024 04:55:55 +0200 Subject: Fixed shadows not respecting offset (#63) --- render/fx_renderer/gles2/shaders/box_shadow.frag | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'render/fx_renderer/gles2/shaders') diff --git a/render/fx_renderer/gles2/shaders/box_shadow.frag b/render/fx_renderer/gles2/shaders/box_shadow.frag index e98cf92..d318c93 100644 --- a/render/fx_renderer/gles2/shaders/box_shadow.frag +++ b/render/fx_renderer/gles2/shaders/box_shadow.frag @@ -11,6 +11,7 @@ varying vec2 v_texcoord; uniform vec2 position; uniform vec2 size; +uniform vec2 offset; uniform float blur_sigma; uniform float corner_radius; @@ -80,7 +81,10 @@ void main() { shadow_alpha += (random() - 0.5) / 128.0; // 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)); + float window_alpha = 1.0 - smoothstep(-1.0, 1.0, + roundRectSDF((size * 0.5) - blur_sigma, + vec2(position.x + blur_sigma - offset.x, position.y + blur_sigma - offset.y), + corner_radius)); gl_FragColor = vec4(v_color.rgb, shadow_alpha) * (1.0 - window_alpha); } -- cgit v1.2.3