shader_type canvas_item; uniform float offset = 1.5; uniform float speed = 0.5; uniform float waves = 2.0; uniform float color_amount = 0.2; void fragment() { vec2 uv = SCREEN_UV; uv.x += floor(sin(TIME * speed - SCREEN_UV.y * waves) * offset) * SCREEN_PIXEL_SIZE.x; COLOR = mix(texture(SCREEN_TEXTURE, uv), COLOR, color_amount); }