[ 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":"Folded jewel fractal — emerald/sapphire/amethyst facets with gold ignition, rotating as a seamless 8s loop on a void-black field.","INPUTS":[{"NAME":"hueShift","TYPE":"float","DEFAULT":0.0,"MIN":0.0,"MAX":1.0},{"NAME":"glowAmt","TYPE":"float","DEFAULT":1.0,"MIN":0.0,"MAX":2.0}]}*/#define PI 3.14159265359#define PERIOD 8.0mat2rot(float a){ float c = cos(a), s = sin(a); returnmat2(c, -s, s, c); }
float gTrap;
float gFold;
floatde(vec3 p){
vec3 p0 = p;
float dr = 1.0;
float trap = 1e9;
float fold = 0.0;
for (int i = 0; i < 9; i++){
p = clamp(p, -1.0, 1.0) * 2.0 - p; // box foldfloat r2 = dot(p, p);
if (r2 < 0.25){ p *= 4.0; dr *= 4.0; } // sphere foldelseif (r2 < 1.0){ p /= r2; dr /= r2; }
p = p * (-1.75) + p0;
dr = dr * 1.75 + 1.0;
if (r2 < trap){ trap = r2; fold = float(i); }
}
gTrap = trap;
gFold = fold;
return (length(p) - 2.0) / abs(dr);
}
floatmap(vec3 p){
float ph = fract(TIME / PERIOD);
float th = 2.0 * PI * ph;
p.xz *= rot(th); // one full turn per loop — exact
p.xy *= rot(0.6); // fixed tiltreturnde(p * 3.9) / 3.9;
}
vec3jewel(float t){
// 4-stop jewel gradient: sapphire -> emerald -> amethyst -> gold
t = fract(t);
vec3 sap = vec3(0.05, 0.18, 0.75);
vec3 eme = vec3(0.04, 0.75, 0.38);
vec3 ame = vec3(0.55, 0.15, 0.85);
vec3 gld = vec3(1.00, 0.72, 0.15);
float k = t * 4.0;
if (k < 1.0) returnmix(sap, eme, k);
if (k < 2.0) returnmix(eme, ame, k - 1.0);
if (k < 3.0) returnmix(ame, gld, k - 2.0);
returnmix(gld, sap, k - 3.0);
}
voidmain(){
vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE.xy) / RENDERSIZE.y;
vec3 ro = vec3(0.0, 0.0, 3.4);
vec3 rd = normalize(vec3(uv, -1.45));
float t = 0.0;
float hit = -1.0;
float nearGlow = 0.0;
for (int i = 0; i < 100; i++){
vec3 pos = ro + rd * t;
float d = map(pos);
nearGlow += exp(-d * 22.0) * 0.012;
if (d < 0.0006 * t){ hit = t; break; }
t += d * 0.6;
if (t > 12.0) break;
}
vec3 void_col = vec3(0.008, 0.016, 0.04); // #02040a-ishvec3 col = void_col;
if (hit > 0.0){
vec3 p = ro + rd * hit;
float trap = gTrap;
float fold = gFold;
// 4-tap tetrahedron normalvec2 e = vec2(0.0012, -0.0012);
vec3 n = normalize(
e.xyy * map(p + e.xyy) + e.yyx * map(p + e.yyx) +
e.yxy * map(p + e.yxy) + e.xxx * map(p + e.xxx));
// hue from fold depth + orbit trap (decoupled from density)float hueArg = 0.52 + fold * 0.085 + trap * 0.6 + hueShift;
vec3 base = jewel(hueArg);
vec3 L = normalize(vec3(0.6, 0.8, 0.5));
float dif = max(dot(n, L), 0.0);
float rim = pow(1.0 - max(dot(n, -rd), 0.0), 3.0);
float spec = pow(max(dot(reflect(-L, n), -rd), 0.0), 32.0);
float emis = smoothstep(0.15, 0.0, trap); // only the tightest fold cores ignite
col = base * (0.10 + 0.75 * dif);
col += base * emis * 3.0 * glowAmt; // jewel-emissive core
col += vec3(1.0, 0.85, 0.55) * spec * 0.6; // gold specular
col += base * rim * 0.35;
col *= exp(-0.22 * hit); // depth fog to void
}
col += jewel(0.05 + hueShift) * nearGlow * glowAmt * 0.35; // halo
col = col / (1.0 + 0.35 * col); // soft-knee, keeps darks darkgl_FragColor = vec4(col, 1.0);
}
BROKEN ✗(you'll be asked to log in)
forking #yzue6jt6 — 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.