cirnogodot/VFEZ/Shaders/Effects/vfez_uv_round_wave.gdshaderinc
2025-03-09 15:58:26 +01:00

18 lines
No EOL
627 B
Text

group_uniforms uv_round_wave;
uniform float uv_round_wave_strength: hint_range(0.0, 1.0) = 0.7;
uniform float uv_round_wave_speed: hint_range(0.0, 5.0) = 2.;
group_uniforms;
vec2 uv_round_wave(
vec2 uv,
vec2 main_texture_size,
vec2 main_texture_scale)
{
float round_wave_x = 0.5 * main_texture_scale.x - uv.x;
float round_wave_y = (0.5 * main_texture_scale.y - uv.y) *
main_texture_size.y / main_texture_size.x;
float ripple = -sqrt(round_wave_x * round_wave_x + round_wave_y * round_wave_y);
uv += mod(sin((ripple + TIME * (uv_round_wave_speed/10.0)) / 0.015)
* (uv_round_wave_strength /10.0), 1.0);
return uv;
}