runnable fragment
code snippet
precision mediump float;
uniform vec2 resolution;
uniform float time;
float hash(vec2 p){return fract(sin(dot(p,vec2(17.0,59.4)))*43758.5453);}
void main(){
vec2 uv=gl_FragCoord.xy/resolution.xy; uv.x*=resolution.x/resolution.y;
vec2 g=uv*12.0; vec2 id=floor(g); vec2 f=fract(g);
float rnd=hash(id);
float h=smoothstep(0.47,0.49,abs(f.y-0.5))*smoothstep(0.51,0.49,abs(f.y-0.5));
float v=smoothstep(0.47,0.49,abs(f.x-0.5))*smoothstep(0.51,0.49,abs(f.x-0.5));
float active=step(0.45, sin(rnd*6.283+time*1.5));
float pads=smoothstep(0.18,0.0,length(f-0.5))*step(0.72,rnd);
float glow=(h*step(0.35,rnd)+v*step(rnd,0.65)+pads)*active;
gl_FragColor=vec4(vec3(0.01,0.025,0.04)+glow*vec3(0.0,0.95,0.75),1.0);