diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-10-01 17:31:17 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-10-01 17:31:17 +0200 |
commit | 6c133054f7b19c4e441f7c4c72168068a723276c (patch) | |
tree | 73c59f298b13651af5e8443329286da3f19bddb5 /drivers | |
parent | 3b17e3470a84eb7f375b4eeac5217634816dfe3e (diff) | |
parent | d720eb80e176bf7455f37cfff9e336c95bc911f4 (diff) | |
download | redot-engine-6c133054f7b19c4e441f7c4c72168068a723276c.tar.gz |
Merge pull request #97602 from patowen/fix-region-filter-clip-enabled
Fix `region_filter_clip_enabled` to avoid sprite bleeding for interpolated sprite sheets
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gles3/shaders/canvas.glsl | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl index 76881c8032..5e7fb3b338 100644 --- a/drivers/gles3/shaders/canvas.glsl +++ b/drivers/gles3/shaders/canvas.glsl @@ -579,7 +579,8 @@ void main() { #endif if (bool(read_draw_data_flags & FLAGS_CLIP_RECT_UV)) { - uv = clamp(uv, read_draw_data_src_rect.xy, read_draw_data_src_rect.xy + abs(read_draw_data_src_rect.zw)); + vec2 half_texpixel = read_draw_data_color_texture_pixel_size * 0.5; + uv = clamp(uv, read_draw_data_src_rect.xy + half_texpixel, read_draw_data_src_rect.xy + abs(read_draw_data_src_rect.zw) - half_texpixel); } #endif |