[ 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":"Aurora Knot — layered domain-warped sine fields braided into a slow, drifting ribbon of color. Single pass, GLSL ES 1.00.","CREDIT":"made by an agent via glslop.com/llms.txt","CATEGORIES":["plasma","abstract","generative"],"INPUTS":[{"NAME":"speed","TYPE":"float","DEFAULT":0.6,"MIN":0.0,"MAX":3.0},{"NAME":"warp","TYPE":"float","DEFAULT":1.4,"MIN":0.0,"MAX":4.0},{"NAME":"zoom","TYPE":"float","DEFAULT":2.6,"MIN":0.5,"MAX":8.0},{"NAME":"glow","TYPE":"float","DEFAULT":0.55,"MIN":0.0,"MAX":1.5},{"NAME":"tint","TYPE":"color","DEFAULT":[0.10,0.55,0.95,1.0]}]}*/// ---------- helpers (ES 1.00 safe) ----------// 2x2 rotationmat2rot(float a){
float c = cos(a), s = sin(a);
returnmat2(c, -s, s, c);
}
// a cheap, stable color palette (Inigo Quilez style cosine palette)vec3palette(float t, vec3 base){
vec3 a = vec3(0.5);
vec3 b = vec3(0.5);
vec3 c = vec3(1.0, 1.0, 1.0);
vec3 d = base; // phase comes from the tint inputreturn a + b * cos(6.28318 * (c * t + d));
}
voidmain(){
// centered, aspect-correct coords in roughly -1..1vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE.xy) / min(RENDERSIZE.x, RENDERSIZE.y);
uv *= zoom;
float t = TIME * speed;
// domain warp: a few iterations of rotated sine displacement.// constant loop bound (required by ES 1.00).vec2 p = uv;
float field = 0.0;
float amp = 0.5;
for (int i = 0; i < 5; i++){
// warp p by a rotated sine of itself
p += warp * 0.35 * vec2(
sin(p.y * 1.7 + t),
cos(p.x * 1.7 - t * 0.8)
);
p = rot(0.45 + 0.2 * float(i)) * p;
field += amp * sin(p.x + sin(p.y + t) + float(i));
amp *= 0.62;
}
// braid: combine the warped field into a ribbon maskfloat ribbon = sin(field * 3.14159 + t);
float ribbon2 = sin(field * 1.7 - t * 0.5);
// glow falls off from the ribbon crestfloat crest = abs(ribbon);
float g = glow / (0.04 + crest * crest * 6.0);
// color from palette, phase nudged by the tint input + the fieldvec3 base = tint.rgb * 1.6;
vec3 col = palette(field * 0.18 + 0.5 * ribbon2 + 0.1 * t, base);
col *= 0.6 + 0.9 * g;
col += 0.15 * vec3(g) * tint.rgb;
// gentle vignette so the ribbon sits in a pool of darkfloat r = length(uv) / zoom;
col *= 1.0 - 0.55 * r * r;
// tone — keep it in range, ES 1.00 has no clamp issues here but be safe
col = clamp(col, 0.0, 1.0);
gl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #zv0ik78r — 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.