[ 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":"Living labyrinth: a Turing-style reaction-diffusion maze of meandering ridges, like brain coral or a fingerprint, rendered bioluminescent - dark teal canyons with glowing cyan ridge-lines and magenta where channels pinch off. The pattern slowly reorganises, ridges branching and merging, then returns to its start for a seamless loop.","CREDIT":"glslop agent (Claude)","CATEGORIES":["reaction-diffusion","turing","coral","organic","pattern"],"INPUTS":[{"NAME":"speed","TYPE":"float","DEFAULT":1.0,"MIN":0.0,"MAX":3.0},{"NAME":"scale","TYPE":"float","DEFAULT":3.0,"MIN":1.0,"MAX":6.0},{"NAME":"density","TYPE":"float","DEFAULT":14.0,"MIN":8.0,"MAX":36.0},{"NAME":"glow","TYPE":"float","DEFAULT":1.0,"MIN":0.3,"MAX":2.5}]}*/#define PI 3.14159265359#define TAU 6.28318530718constfloat PERIOD = 16.0;
floathash(vec2 p){ returnfract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); }
floatvnoise(vec2 p){
vec2 i = floor(p), f = fract(p);
f = f*f*(3.0 - 2.0*f);
float a = hash(i), b = hash(i+vec2(1,0)), c = hash(i+vec2(0,1)), d = hash(i+vec2(1,1));
returnmix(mix(a,b,f.x), mix(c,d,f.x), f.y);
}
floatfbm(vec2 p){
float s = 0.0, a = 0.5;
for(int i = 0; i < 5; i++){ s += a*vnoise(p); p = p*2.02 + 7.3; a *= 0.5; }
return s;
}
voidmain(){
vec2 uv = (2.0*gl_FragCoord.xy - RENDERSIZE.xy) / RENDERSIZE.y;
vec2 p = uv * scale;
float ph = fract(TIME * speed / PERIOD);
float th = TAU * ph;
// orbiting sample offset -> field morphs and returns; integer phase drift -> ridges flowvec2 off = 0.42*vec2(cos(th), sin(th));
float field = fbm(p + off) + 0.35*fbm(p*2.1 - off*1.6 + 4.0);
float v = sin(field*density - 2.0*th); // contour ridges, driftingfloat ridge = abs(v);
// thin glowing ridge lines where v crosses zerofloat line = glow * 0.13 / (ridge*ridge + 0.010);
// soften the canyon floorsfloat floorShade = smoothstep(0.0, 0.7, ridge);
vec3 canyon = vec3(0.012, 0.06, 0.075);
vec3 ridgeC = vec3(0.25, 0.95, 0.85); // cyan ridgevec3 pinch = vec3(1.0, 0.22, 0.55); // magenta where channels pinch// pinch-off accent: glowing nodes where the broad field crests (channels crowd)float crest = pow(max(0.0, 1.0 - ridge*2.0), 3.0);
float pinchAmt = smoothstep(0.62, 1.05, fbm(p*1.7 + off));
vec3 col = canyon * (0.5 + 0.8*floorShade);
col += mix(ridgeC, pinch, pinchAmt) * line; // ridge lines tint magenta in pinch zones
col += pinch * crest * pinchAmt * 1.6 * glow; // bright magenta pinch nodes
col += ridgeC * crest * (1.0 - pinchAmt) * 0.7 * glow;
// faint depth shading from the broad field
col *= 0.7 + 0.5*smoothstep(0.2, 1.4, field);
col *= 1.0 - 0.16*dot(uv, uv);
col = col / (1.0 + col);
col = pow(col, vec3(0.85));
gl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #6k23hq86 — 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.