[ 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":"Flower-of-life circle lattice breathing through a log-polar tunnel, phase-iridescent linework on void. Seamless loop.","INPUTS":[{"NAME":"speed","TYPE":"float","DEFAULT":1.0,"MIN":0.25,"MAX":3.0},{"NAME":"fold","TYPE":"long","DEFAULT":6,"VALUES":[6,5,8],"LABELS":["hex","penta","octa"]}]}*/#define PI 3.141592653589793#define TAU 6.283185307179586// rotatemat2rot(float a){ float c = cos(a), s = sin(a); returnmat2(c, -s, s, c); }
// distance to circle ring of radius r centered at cfloatsdRing(vec2 p, vec2 c, float r){ returnabs(length(p - c) - r); }
// crisp AA line from a distance field, w = half-width in field unitsfloatlineAA(float d, float w, float aa){ returnsmoothstep(w + aa, w - aa, d); }
// phase-driven iridescence: 2-tone cyan/magenta wheel driven by phase, not densityvec3irid(float phase){
return0.5 + 0.5 * cos(TAU * phase + vec3(0.0, 2.094, 4.188));
}
voidmain(){
float PERIOD = 12.0;
float ph = fract(TIME * speed / PERIOD); // 0..1 master phasevec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE.xy) / RENDERSIZE.y;
float N = max(float(fold), 3.0); // symmetry order (guard div-by-zero)// ---- log-polar tunnel domain ----float r = length(uv);
float a = atan(uv.y, uv.x);
// log radius; scroll by exactly one tile per loop -> seamlessfloat tile = 1.1; // log-radial tile sizefloat lr = log(max(r, 1e-5)) / tile + ph; // scroll one tile per period// kaleidoscopic angular foldfloat sector = TAU / N;
float aa2 = mod(a + sector * 0.5, sector) - sector * 0.5; // folded angle// rebuild folded plane coords in log-polar spacevec2 lp = vec2(lr, aa2 * N / TAU * 2.0); // x: log-radius (scrolling), y: folded angle// ---- flower-of-life lattice in the folded log-polar plane ----// hex-ish lattice of circles: repeat cells, circles at cell centers + edgesvec2 cell = fract(lp * 2.0) - 0.5; // cell coords -0.5..0.5vec2 cid = floor(lp * 2.0);
float d = 1e9;
// circles at neighboring lattice points, radius ~ lattice spacing (FoL overlap)for (int i = -1; i <= 1; i++){
for (int j = -1; j <= 1; j++){
vec2 o = vec2(float(i), float(j));
// offset every other row for hex packingvec2 c = o;
c.x += mod(cid.y + o.y, 2.0) * 0.5 - 0.25;
float ringR = 0.62; // overlapping circles = vesica fields
d = min(d, sdRing(cell, c, ringR));
}
}
// ---- golden-angle spiral arm family (second line family, world space) ----// log spirals are straight lines in (log r, angle); lr carries +ph so drift/loop = 2 (integer, seamless)float arm = 1e9;
for (int k = 0; k < 3; k++){
float fk = float(k);
float spiralD = abs(fract(lr * 2.0 + (a / TAU) * 3.0 + fk * 0.3333333) - 0.5);
arm = min(arm, spiralD);
}
// ---- AA widths scale with pixel size in field units ----float px = 2.0 / RENDERSIZE.y; // approx pixel in uv unitsfloat aaF = px * 6.0; // field-space AA fudgefloat lat = lineAA(d, 0.015, aaF); // lattice lines: crispfloat spr = lineAA(arm, 0.01, aaF) * 0.6; // spiral filaments: thin + crisp// ---- color: cohesive duotone (electric cyan <-> deep violet), phase from log radius ----float huePhase = 0.5 + 0.5 * sin(TAU * lr); // integer multiple of lr: seamless traveling bandsvec3 CYAN = vec3(0.08, 0.84, 0.95);
vec3 VIOLET = vec3(0.42, 0.16, 0.95);
vec3 GOLD = vec3(1.0, 0.78, 0.25);
vec3 colA = mix(VIOLET, CYAN, huePhase);
vec3 col = vec3(0.0);
col += colA * lat * 1.35;
col += GOLD * spr * 0.85; // gold spiral filament family// fade the innermost moire into void, vignette the edgefloat centerFade = smoothstep(0.03, 0.16, r);
col *= centerFade;
float vig = smoothstep(1.15, 0.4, r);
col *= 0.3 + 0.7 * vig;
col += CYAN * 0.06 * exp(-r * 4.0) * centerFade; // faint cyan core halo// deep void floor, no grey wash
col = max(col, vec3(0.0));
gl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #5sa9tm7i — 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.