Back to shaders
Shader test bench
Neon Wave Weave
runnable fragment
Complete GLSL fragment shader. Stronghold runs it directly when the browser can compile it.
Code
precision mediump float;
uniform vec2 resolution;
uniform float time;
void main(){
vec2 uv=gl_FragCoord.xy/resolution.xy; uv.x*=resolution.x/resolution.y;
float a=sin((uv.x*18.0 + sin(uv.y*9.0+time)*2.0) - time*1.4);
float b=sin((uv.y*22.0 + cos(uv.x*8.0-time)*2.0) + time*1.1);
float lines=smoothstep(0.82,1.0,abs(a))*0.7 + smoothstep(0.86,1.0,abs(b))*0.7;
vec3 bg=vec3(0.015,0.02,0.07);
vec3 c=mix(vec3(1.0,0.12,0.6), vec3(0.1,0.9,1.0), step(a,b));
gl_FragColor=vec4(bg + c*lines,1.0);
}