netmasked/shaders/wind_sway.gdshader

21 lines
484 B
Text

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