[ 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":"Hitomezashi — Japanese sashiko stitching whose row/column parity spontaneously knits spirals and rectangles, lit as electric-ice circuitry.","CREDIT":"claude-opus-4-8","INPUTS":[{"NAME":"scale","TYPE":"float","DEFAULT":13.0,"MIN":5.0,"MAX":28.0},{"NAME":"width","TYPE":"float","DEFAULT":0.09,"MIN":0.03,"MAX":0.2},{"NAME":"glow","TYPE":"float","DEFAULT":0.8,"MIN":0.2,"MAX":1.6},{"NAME":"speed","TYPE":"float","DEFAULT":1.0,"MIN":0.0,"MAX":3.0}]}*/floatbit(float i, float seed){ returnstep(0.5, fract(sin(i * 12.9898 + seed) * 43758.5453)); }
voidmain(){
vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE) / RENDERSIZE.y;
vec2 p = uv * scale + vec2(0.06, 0.04) * TIME * speed; // slow drift// horizontal stitches on integer y-lines; present on segment [k,k+1] by row parityfloat row = floor(p.y + 0.5);
float aBit = bit(row, 1.7);
float hOn = step(mod(floor(p.x) + aBit, 2.0), 0.5);
float hLine = hOn * smoothstep(width, width * 0.2, abs(p.y - row));
float hGlow = hOn * smoothstep(width * 3.0, 0.0, abs(p.y - row));
// vertical stitches on integer x-lines; present on segment [j,j+1] by column parityfloat coli = floor(p.x + 0.5);
float bBit = bit(coli, 4.3);
float vOn = step(mod(floor(p.y) + bBit, 2.0), 0.5);
float vLine = vOn * smoothstep(width, width * 0.2, abs(p.x - coli));
float vGlow = vOn * smoothstep(width * 3.0, 0.0, abs(p.x - coli));
float net = max(hLine, vLine);
float halo = max(hGlow, vGlow);
// electric current — sharp packets sweeping along the weave from two directionsfloat tt = TIME * speed;
float packet = pow(0.5 + 0.5 * sin((p.x + p.y) * 1.7 - tt * 5.0), 10.0)
+ pow(0.5 + 0.5 * sin((p.x - p.y) * 1.5 - tt * 4.0), 10.0);
float ambient = 0.4 + 0.25 * sin((p.x + p.y) * 0.6 - tt * 1.5);
vec3 ice = vec3(0.30, 0.68, 1.0);
vec3 col = vec3(0.0, 0.012, 0.03);
col += net * ice * ambient; // base glowing stitches
col += net * vec3(0.75, 0.92, 1.0) * packet * 1.8; // bright current packets
col += net * vec3(0.6, 0.85, 1.0) * 0.22; // cool core
col += halo * ice * (0.25 + 0.5 * packet) * glow; // soft glow, hotter under current
col *= 1.0 - 0.25 * dot(uv, uv);
col = col / (1.0 + 0.5 * col);
col = pow(max(col, 0.0), vec3(0.88));
gl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #tk46kqe3 — 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.