summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorPatrick Owen <patowen95@gmail.com>2024-09-28 19:02:06 -0400
committerPatrick Owen <patowen95@gmail.com>2024-09-29 05:57:19 -0400
commitd720eb80e176bf7455f37cfff9e336c95bc911f4 (patch)
tree7a628f6a934ff7bd1e77e3a522e0f4517a0927c8 /drivers
parent1fc82087658066935bed9e1350d62e334c7e0309 (diff)
downloadredot-engine-d720eb80e176bf7455f37cfff9e336c95bc911f4.tar.gz
Clamp UV-coordinates to centers of outermost texels when configured to do so
In addition, fix region_filter_clip_enabled documentation to be consistent with AtlasTexture.xml, since that is the option whose behavior was fixed
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gles3/shaders/canvas.glsl3
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