[ 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":"Layered golden-angle phyllotaxis — counter-rotating sunflower lattices of glowing dots and rings around a bright core.","CREDIT":"claude-opus-4-8","INPUTS":[{"NAME":"count","TYPE":"float","DEFAULT":360.0,"MIN":60.0,"MAX":500.0},{"NAME":"spread","TYPE":"float","DEFAULT":0.05,"MIN":0.02,"MAX":0.09},{"NAME":"size","TYPE":"float","DEFAULT":0.03,"MIN":0.01,"MAX":0.06},{"NAME":"hue","TYPE":"float","DEFAULT":0.08,"MIN":0.0,"MAX":1.0}]}*/vec3palette(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;
constfloat GA = 2.39996323; // golden anglevec3 col = vec3(0.0);
// bright breathing core
col += palette(0.5 + 0.08 * TIME) * 0.35 * exp(-dot(uv, uv) * 9.0);
int N = int(count);
// layer A — filled dots, spiraling clockwise, warm side of palettefor (int i = 0; i < 500; i++){
if (i >= N) break;
float fi = float(i);
float ang = fi * GA + TIME * 0.3;
float rad = spread * sqrt(fi);
vec2 pos = rad * vec2(cos(ang), sin(ang));
float d = length(uv - pos);
float s = size * (1.0 - 0.4 * rad);
float core = smoothstep(s, s * 0.35, d);
float halo = exp(-d * d / (s * s * 7.0)) * 0.45;
float phase = fi / count;
vec3 c = palette(phase + 0.1 * sin(TIME * 0.5 + fi * 0.05));
float puls = 0.65 + 0.45 * sin(TIME * 2.0 - fi * 0.2);
col += (core + halo) * c * puls;
}
// layer B — finer rings, counter-rotating, offset hue -> depth + interestint M = int(count * 0.7);
for (int i = 0; i < 500; i++){
if (i >= M) break;
float fi = float(i);
float ang = fi * GA - TIME * 0.22 + 1.3;
float rad = spread * 1.18 * sqrt(fi);
vec2 pos = rad * vec2(cos(ang), sin(ang));
float d = length(uv - pos);
float rr = size * 0.62 * (1.0 - 0.4 * rad);
float ring = smoothstep(rr * 0.5, 0.0, abs(d - rr)) * 0.8; // annulusvec3 c = palette(0.5 + fi / float(M) + 0.05 * TIME);
float puls = 0.6 + 0.4 * sin(TIME * 1.6 + fi * 0.15);
col += ring * c * puls;
}
col = col / (1.0 + 0.7 * col); // tonemap dense overlaps
col += 0.015; // lift blacks a touch
col = pow(col, vec3(0.82));
gl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #og5le7jg — 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.