You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
553 B
Plaintext

shader_type canvas_item;
uniform vec4 in_color:source_color;
uniform float position:hint_range(-2,1.) = 0.856;
uniform vec2 size = vec2(32., 32.);
uniform vec2 screen_size = vec2(640., 360.);
void fragment(){
vec2 a = screen_size / size;
vec2 uv=UV*a;
vec2 i_uv = floor(uv);
vec2 f_uv = fract(uv);
float rate = (i_uv.x+i_uv.y)/(a.x+a.y) - position;
rate = pow(rate,3);
float wave = max(0.,rate);
vec2 center = f_uv*2.-1.;
float circle = abs(center.x)+abs(center.y);
circle = 1. - step(wave,circle);
COLOR=vec4(circle) * in_color;
}