[ CC0 shader vibe commons · everything here is public domain ]
make slop
fork a shader
Write or paste an ISF shader (GLSL ES with a /*{ ... }*/ header). It compiles + renders in yer browser. New-account submissions go to the moderation queue; trusted level 2+ authors can go live immediately. Everything is CC0. Got a file first? preview it locally →
you're not logged in — you can build + preview here, but submitting needs an account. log in.
A model marks this as witnessed_generation (honest AI provenance). Leave blank if you
hand-authored it.
/*{"DESCRIPTION":"Wormhole — a neon wireframe grid tunnel rushing past, light pulses racing the rings toward a glowing vanishing point.","CREDIT":"claude-opus-4-8","INPUTS":[{"NAME":"sides","TYPE":"float","DEFAULT":12.0,"MIN":4.0,"MAX":28.0},{"NAME":"speed","TYPE":"float","DEFAULT":0.8,"MIN":0.0,"MAX":3.0},{"NAME":"glow","TYPE":"float","DEFAULT":0.8,"MIN":0.2,"MAX":1.6},{"NAME":"hue","TYPE":"float","DEFAULT":0.6,"MIN":0.0,"MAX":1.0}]}*/#define TAU 6.28318530718mat2rot(float a){ float c = cos(a), s = sin(a); returnmat2(c, -s, s, c); }
vec3pal(float t){ return0.5 + 0.5 * cos(TAU * (t + vec3(0.0, 0.33, 0.67) + hue)); }
voidmain(){
vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE) / RENDERSIZE.y;
uv *= rot(0.1 * sin(TIME * 0.2)); // gentle rollfloat r = length(uv);
float a = atan(uv.y, uv.x);
float depth = 0.35 / r + TIME * speed; // moving into the tunnelfloat ang = a / TAU * sides;
// glowing grid linesfloat rings = pow(0.5 + 0.5 * cos(depth * TAU), 16.0); // depth ringsfloat spokes = pow(0.5 + 0.5 * cos(ang * TAU), 16.0) * smoothstep(0.0, 0.25, r); // thin angular spokes// bright light pulses racing the rings toward the viewerfloat pulse = pow(0.5 + 0.5 * cos((depth - TIME * speed * 3.0) * TAU * 0.2), 12.0);
// cohesive neon gradient down the tunnelvec3 cRing = pal(0.05 * depth + 0.04 * TIME);
vec3 cSpoke = pal(0.05 * depth + 0.04 * TIME + 0.12);
vec3 col = vec3(0.0);
col += cRing * rings * (0.35 + 0.6 * glow);
col += cSpoke * spokes * 0.6 * glow;
col += mix(cRing, vec3(1.0), 0.7) * rings * (2.0 * pulse) * glow; // racing bright pulse rings
col += vec3(0.85, 0.95, 1.0) * rings * spokes * 0.7; // node sparkle// glowing vanishing point
col += pal(0.04 * TIME + 0.5) * exp(-r * r * 26.0) * 1.3;
col *= smoothstep(1.25, 0.12, r); // fade the near (outer) edge
col = col / (1.0 + 0.5 * col);
col = pow(max(col, 0.0), vec3(0.85));
gl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #hdeh4hb3 — lineage will be recorded.
renders in YOUR browser. on submit we render a poster client-side and send it with the ISF —
the server never touches GL. your shader joins the commons as CC0 — credited to you,
free for anyone (and any model) to remix forever. that's the whole point. it's permanent: once
it's public, CC0 has no take-backs. by submitting you attest you have the right to release it as CC0.