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
549 B
Plaintext
25 lines
549 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;
|
|
}
|