From 233c7e1b96d1dfc0226a19578212121aeaba88e9 Mon Sep 17 00:00:00 2001 From: ChaoticByte Date: Wed, 5 Jun 2024 22:46:25 +0200 Subject: [PATCH] Applied a bit of noise to the ui background blur shader to fix color banding and make it prettier --- src/ui_background.gdshader | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/ui_background.gdshader b/src/ui_background.gdshader index 9df8052..400d329 100644 --- a/src/ui_background.gdshader +++ b/src/ui_background.gdshader @@ -2,7 +2,16 @@ shader_type canvas_item; uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, repeat_disable, filter_linear_mipmap_anisotropic; +float rand(vec2 uv) { + return fract(sin(dot(uv, vec2(12.9898, 78.233))) * 43758.5453123); +} + void fragment() { - COLOR.rgb = clamp(textureLod(SCREEN_TEXTURE, SCREEN_UV, 10.0).rgb, 0.05, 0.7); + vec2 new_uv; + new_uv.x = mix(SCREEN_UV.x, rand(UV), 0.2); + new_uv.y = mix(SCREEN_UV.y, rand(UV), 0.2); + new_uv.x = mix(new_uv.x, rand(UV), -0.2); + new_uv.y = mix(new_uv.y, rand(UV), -0.2); + COLOR.rgb = clamp(textureLod(SCREEN_TEXTURE, new_uv, 10.0).rgb, 0.05, 0.7); COLOR.a = 1.0; }