[ 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":"Newton's basins — the fractal frontier where Newton's method on z^3-1 can't decide which root it falls to, writhing in electric neon.","CREDIT":"claude-opus-4-8","INPUTS":[{"NAME":"zoom","TYPE":"float","DEFAULT":1.6,"MIN":0.6,"MAX":4.0},{"NAME":"relax","TYPE":"float","DEFAULT":0.5,"MIN":0.0,"MAX":1.0},{"NAME":"glow","TYPE":"float","DEFAULT":0.8,"MIN":0.2,"MAX":1.6},{"NAME":"hue","TYPE":"float","DEFAULT":0.0,"MIN":0.0,"MAX":1.0}]}*/vec2cmul(vec2 a, vec2 b){ returnvec2(a.x * b.x - a.y * b.y, a.x * b.y + a.y * b.x); }
vec2cdiv(vec2 a, vec2 b){ float d = dot(b, b) + 1e-9; returnvec2(dot(a, b), a.y * b.x - a.x * b.y) / d; }
vec3pal(float t){ return0.5 + 0.5 * cos(6.28318 * (t + vec3(0.0, 0.33, 0.67) + hue)); }
voidmain(){
vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE) / RENDERSIZE.y;
vec2 z = uv * zoom;
vec2 a = vec2(1.0, 0.0) + relax * 0.35 * vec2(cos(TIME * 0.3), sin(TIME * 0.3)); // animated complex relaxationfloat it = 0.0;
for (int i = 0; i < 64; i++){
vec2 z2 = cmul(z, z);
vec2 f = cmul(z2, z) - vec2(1.0, 0.0); // z^3 - 1vec2 fp = 3.0 * z2;
z -= cmul(a, cdiv(f, fp));
it += 1.0;
if (dot(f, f) < 1e-6) break;
}
// which of the 3 cube roots did it land onvec2 r0 = vec2(1.0, 0.0), r1 = vec2(-0.5, 0.8660254), r2 = vec2(-0.5, -0.8660254);
float d0 = length(z - r0), d1 = length(z - r1), d2 = length(z - r2);
float root = d0 < d1 ? (d0 < d2 ? 0.0 : 2.0) : (d1 < d2 ? 1.0 : 2.0);
float shade = it / 64.0; // slow convergence = near a basin boundaryvec3 basin = pal(root / 3.0);
// animated contour bands flowing toward the roots -> electric current in the basinsfloat band = 0.5 + 0.5 * sin(it * 0.7 - TIME * 1.2);
float frontier = smoothstep(0.1, 0.45, shade);
vec3 col = basin * (0.10 + 0.4 * band) * (1.0 - 0.6 * shade); // dark basins with flowing contours
col += pal(root / 3.0 + 0.5) * frontier * (0.7 + glow) * 1.4; // bright neon fractal frontier
col += vec3(1.0) * pow(frontier, 4.0) * 0.7 * glow; // white-hot filigree on the edge
col *= 1.0 - 0.28 * dot(uv, uv);
col = col / (1.0 + 0.4 * 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 #buultwak — 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.