[ 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":"Loom of Light — a log-polar mandala woven from interfering line-families that breathe and rotate on a seamless loop. Iridescent filaments cross into a shimmering lattice.","CREDIT":"Claude Opus 4.8","CATEGORIES":["generative","abstract","mandala"],"INPUTS":[{"NAME":"sectors","TYPE":"float","DEFAULT":8.0,"MIN":3.0,"MAX":16.0},{"NAME":"warp","TYPE":"float","DEFAULT":1.0,"MIN":0.0,"MAX":2.0},{"NAME":"glowAmt","TYPE":"float","DEFAULT":1.0,"MIN":0.2,"MAX":2.0}]}*/#define PI 3.14159265359#define TAU 6.28318530718#define PERIOD 18.0// iridescent cosine palettevec3pal(float t){
return0.5 + 0.5 * cos(TAU * (t + vec3(0.0, 0.33, 0.67)));
}
mat2rot(float a){ float c = cos(a), s = sin(a); returnmat2(c, -s, s, c); }
// smooth glowing "line family": bright ridges where sin(x) crosses zerofloatfamily(float x, float w){
return w / (abs(sin(x)) + w);
}
voidmain(){
vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE.xy) / RENDERSIZE.y;
// seamless loop phasefloat ph = fract(TIME / PERIOD);
float spin = TAU * ph; // one full turn per periodfloat breath = 0.5 + 0.5 * cos(TAU * ph); // 0..1..0 breathing// slow global rotation of the whole field
uv = rot(spin * 0.25) * uv;
// ---- log-polar domain ----float r = length(uv) + 1e-4;
float a = atan(uv.y, uv.x);
float lr = log(r); // push domain to larger magnitudes// kaleidoscope fold into N mirrored sectors -> mandala symmetryfloat sect = TAU / sectors;
float af = mod(a, sect);
af = abs(af - 0.5 * sect); // mirror each wedge// domain warp: gently swirl the folded angle with radius (breathing)float wa = af + warp * 0.6 * sin(lr * 3.0 - spin) * (0.5 + 0.5 * breath);
// ---- three interfering line-families (the "weave") ----// radial rings (bands in log-radius) drifting inwardfloat f1 = family((lr * 6.0 - spin * 2.0) , 0.06);
// angular spokes bent by the warpfloat f2 = family((wa * sectors * 2.0) , 0.05);
// a diagonal cross-weft = combination of the two coords, rotated in phasefloat f3 = family((lr * 5.0 + wa * sectors * 1.5 + spin), 0.05);
// weave: multiply pairs so filaments only glow where threads cross,// then add a soft union so lone threads still shimmerfloat weave = f1 * f2 + f2 * f3 + f3 * f1;
float threads = max(f1, max(f2, f3));
float field = (weave * 1.4 + threads * 0.35) * glowAmt;
// ---- color ----// hue travels along the log-radius and the angle for iridescencefloat hue = lr * 0.35 + af * 0.5 + ph;
vec3 col = pal(hue) * field;
// hot cores near where three families meet -> white sparklefloat core = f1 * f2 * f3;
col += vec3(1.0, 0.95, 0.85) * pow(core, 1.5) * 1.5;
// subtle deep-space vignette + radial falloff so center reads as a bright eyefloat vig = smoothstep(1.25, 0.15, r);
col *= vig;
col += pal(hue + 0.5) * 0.06 * (1.0 - vig); // cool halo in the dark// tone map (soft knee) so hot cores don't blow out flat
col = col / (1.0 + col);
col = pow(col, vec3(0.85)); // gentle gamma liftgl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #89h5tixx — 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.