shader_type canvas_item; uniform sampler2D noise_texture: repeat_enable, filter_nearest; uniform float strength = 0.1; uniform float borderScale = 2.; void vertex() { VERTEX.xy *= vec2(borderScale); } void fragment() { vec2 uv = UV * borderScale - (0.5 * (borderScale - 1.0)); float noise_value = texture(noise_texture, uv + TIME * 0.3).r * 2. * PI; vec2 displacement = vec2(noise_value * strength, 0.0); vec2 d_uv = uv + displacement; COLOR = texture(TEXTURE, d_uv); }