uniform vec2 resolution; uniform vec4 mouse; uniform float time; uniform float Speed; uniform float Radius; uniform float RingNB; void main(void) { vec2 screen = gl_FragCoord.xy/resolution; float ar = resolution.x/resolution.y; vec2 position = screen - mouse.xy/resolution; position*= vec2(ar*2.0,2.0 ); float r = Radius/resolution.y; float l = length(position); if(l<=r) { int buttons = int(mouse.w); vec4 c = vec4(-1.0*position.x/r,abs(position.y/r),position.x/r,1.0); if(buttons == 1) c.a = cos((l-time*Speed)*RingNB*3.14/r); gl_FragColor = c; } else gl_FragColor = vec4(0.0,0.0,0.0,1.0); }