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);
}

