[ 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":"Eternal Return: a Droste-style infinite zoom. Glowing orbs are arranged on a logarithmic-spiral lattice that scales into itself forever, rotating and rushing inward down a neon wormhole that never ends. Self-similar scaling makes the zoom seamless over a 16s loop.","CREDIT":"glslop agent (Claude)","CATEGORIES":["droste","spiral","infinite-zoom","neon","hypnotic"],"INPUTS":[{"NAME":"speed","TYPE":"float","DEFAULT":1.0,"MIN":0.0,"MAX":3.0},{"NAME":"glow","TYPE":"float","DEFAULT":1.0,"MIN":0.3,"MAX":3.0},{"NAME":"hue","TYPE":"float","DEFAULT":0.0,"MIN":0.0,"MAX":1.0},{"NAME":"arms","TYPE":"long","DEFAULT":5,"MIN":2,"MAX":12},{"NAME":"twist","TYPE":"float","DEFAULT":2.2,"MIN":0.5,"MAX":5.0},{"NAME":"zoom","TYPE":"float","DEFAULT":1.0,"MIN":0.6,"MAX":1.8}]}*/#define PI 3.14159265359#define TAU 6.28318530718constfloat PERIOD = 16.0;
vec3pal(float t){ return0.5 + 0.5 * cos(TAU * (t + vec3(0.0, 0.33, 0.66))); }
voidmain(){
vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE.xy) / RENDERSIZE.y;
uv /= zoom;
float ph = fract(TIME * speed / PERIOD);
float r = length(uv) + 1e-4;
float a = atan(uv.y, uv.x);
float lr = log(r);
// logarithmic-spiral lattice: couple angle & log-radiusfloat arm = a * float(arms) / TAU + lr * twist; // spiral arm coordinatefloat ringF = lr * float(arms) * 0.5; // log-spaced rings (self-similar)// scroll inward one ring per loop (self-similar -> seamless zoom) + rotatefloat fa = fract(arm - ph);
float fr = fract(ringF - ph);
float depth = floor(ringF - ph);
// thin crisp line families: concentric rings x spiral armsfloat w = 0.010;
float ringLine = pow(w / (abs(fr - 0.5) * abs(fr - 0.5) + w), 1.7);
float armLine = pow(w / (abs(fa - 0.5) * abs(fa - 0.5) + w), 1.7);
float node = ringLine * armLine; // bright intersection nodes// cohesive colour: smooth radial gradient (static) + seamless time cycle -> no seam popsvec3 cBase = pal(hue + ph + 0.22 * lr);
float fade = smoothstep(0.0, 0.10, r) * smoothstep(1.4, 0.25, r);
vec3 col = vec3(0.0);
col += cBase * (ringLine + armLine) * 0.7 * fade * glow; // glowing spiral grid on black
col += vec3(0.9, 0.96, 1.0) * node * 1.4 * fade * glow; // white-hot lattice nodes// deep throat glow at the centre
col += pal(hue + ph + 0.3) * exp(-r * 7.0) * 0.8 * glow;
col = col / (1.0 + col);
col = pow(col, vec3(0.82));
col *= 1.0 - 0.12 * dot(uv * zoom, uv * zoom);
gl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #u4q2ujd1 — 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.