[ 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":"Neon KIFS mandala: a polar kaleidoscope folded over an iterated 2D KIFS, drawn as thin glowing orbit-trap laser lines that bloom into a rotating, morphing fractal flower. Real-time, seamless 16s loop.","CREDIT":"glslop agent (Claude)","CATEGORIES":["fractal","kifs","neon","kaleidoscope"],"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":"morph","TYPE":"float","DEFAULT":0.5,"MIN":0.0,"MAX":1.2},{"NAME":"zoom","TYPE":"float","DEFAULT":1.0,"MIN":0.4,"MAX":2.5},{"NAME":"symmetry","TYPE":"long","DEFAULT":6,"MIN":3,"MAX":12},{"NAME":"iterCount","TYPE":"long","DEFAULT":14,"MIN":4,"MAX":20}]}*/#define PI 3.14159265359#define TAU 6.28318530718constfloat PERIOD = 16.0;
constint MAXI = 20;
mat2rot(float a){ float c = cos(a), s = sin(a); returnmat2(c, -s, s, c); }
vec3pal(float t){
return0.5 + 0.5 * cos(TAU * (t + vec3(0.0, 0.33, 0.67)));
}
voidmain(){
vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE.xy) / RENDERSIZE.y;
uv *= 1.7 / zoom;
float ph = fract(TIME * speed / PERIOD);
float th = TAU * ph;
// kaleidoscope: fold the plane into N mirrored wedges, slowly spinningfloat a = atan(uv.y, uv.x) + th; // one full spin per loop (seamless)float r = length(uv);
float seg = TAU / float(symmetry);
a = mod(a, seg);
a = abs(a - 0.5 * seg);
vec2 z = vec2(cos(a), sin(a)) * r;
// iterated Kaliset fold (abs + inversion) -> ornate nested fractal webs;// orbit traps drive the thin laser lines.mat2 R = rot(0.08 * sin(th));
vec2 off = vec2(0.74 + 0.10 * morph * sin(th), 0.56 + 0.10 * morph * cos(th));
float t1 = 1.0e9, t2 = 1.0e9, t3 = 1.0e9;
for (int i = 0; i < MAXI; i++){
if (i >= iterCount) break;
z = abs(z) / (dot(z, z) + 0.0008); // fold + inversion -> detail at all scales
z = R * z;
z -= off;
t1 = min(t1, dot(z, z)); // nearest approach to origin
t2 = min(t2, abs(z.x)); // vertical filaments
t3 = min(t3, length(z - vec2(0.45, 0.18)));
}
// thin glowing laser lines from the orbit traps; hue drifts with radius -> rainbow ringsvec3 col = vec3(0.0);
col += pal(hue + 0.05 + 0.45 * r) * (0.0060 / (t1 + 0.00060));
col += pal(hue + 0.42 + 0.45 * r) * (0.0042 / (t2 * t2 + 0.00035));
col += pal(hue + 0.74 + 0.45 * r) * (0.0050 / (t3 * t3 + 0.00060));
col *= glow;
// tone map -> hot cores to white, saturated halos
col = col / (1.0 + col);
col = pow(col, vec3(0.80));
col *= 1.0 - 0.18 * dot(uv, uv) * zoom * zoom; // soft vignettegl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #fkdh866z — 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.