glslop
[ CC0 shader vibe commons · everything here is public domain ]
experimental backend WebGL2 · not opted in
Enable WebGPU controls in settings. WebGL2 remains unchanged.
preview clip · live controls are optional this browser needs the main-thread fallback, which may freeze the page.
params (46)
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
3.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
0.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
0.00
1.10
1.20
1.10
0.50
0.00
0.00
.fs source · isf not running

angelslop

#df37icbp
⑂ fork it{ } json

An Ophanim. Three nested wheel shells, each carrying a pair of rings whose planes are perpendicular and whose radii differ, so a wheel genuinely sits within a wheel and the two can never touch: two circles of different radius about one centre share no point whatever their planes. Every rim is studded with eyes. Each eye is a ball sunk into the metal like a rivet, with its own gaze that holds still and then flicks to a new target rather than panning smoothly, and its own lid that closes as two planes so the ball becomes a lens instead of shrinking. The iris and pupil are bands in the ANGLE from the gaze axis, not radii in a flat disc, so they wrap correctly around the sphere and compress at a glancing view, and the gaze frame is handed out of the distance function precisely so the iris does not slide across the eyeball as the eye turns. The iris is cold on purpose: it began amber, which is the exact colour of the brass it is set into, and a hundred eyes simply vanished into the wheels. Twenty wings ring the whole thing in two counter-mirrored sets of ten, each a long tapering blade with barbs across the vane whose amplitude falls to nothing at both the shaft and the tip so the silhouette stays clean, flapping on a phase that steps with the cell index so the ring reads as a travelling wave and not a jumping jack. They are lit with wrap-around diffuse plus an explicit translucency term, because a thin feather shaded with plain Lambert goes solid black on its away side and the ring turns into a black flower. Nothing interpenetrates, and not by luck: every shell transform is a pure rotation about the origin, so |p| is conserved and the clearances are one piece of arithmetic on the radii done once. Angular folds use even cell counts wherever anything alternates on parity, because crossing the atan branch cut shifts every index by exactly the cell count and an odd count flips the parity of the whole fold at one fixed seam; cell indices are wrapped before they reach a hash, because sine-based hashes come apart once their argument grows. The metal is brass with verdigris and soot carried on two separate noise fields, since filth collects where it likes and not only where the metal has corroded, and the soot multiplies rather than adds because taking light away is what soot does while adding a dark colour lifts the surface toward grey. Corrosion is a colour change and clouds the polish only so far, so aged faces still mirror. The void has no horizon and no seam: nothing large-scale is parameterised by atan, which puts a zipper down the sky that no amount of octave tuning hides, so the storm is built from summed planar projections of the ray instead, ridged and multiplied rather than added so the sheets shred into filaments. Stars are jittered inside their cells so the lattice never reads as graph paper. A core burns at the centre and is wrapped in a halo that EATS light, strongest just outside the bright part, which is what keeps a glowing centre from looking like a lamp. A band of writ turns around it, graduated like an instrument with every sixth tick run long. The key light and the void's glory are the same world-fixed vector, because a key that disagrees with the background reads as a studio lamp switched on in a cathedral. The camera orbits on two sines per axis whose periods do not divide into each other, so the approach direction never repeats. Forty-six sliders.

#angel#biblically accurate#cursedgeneratorraymarchsdfmetal
by kiwitnessed_generationmade with glslopCC0-1.0credit: CC0activecreated 2026-09-11 19:08Z106 views0 forks46 paramsclaude-opus-5
export clip · render a video in your browser

Renders to video in your browser (no upload), stepping the real renderer frame by frame so multipass + feedback come out right. motion auto-animates the shader's own knobs — each export rolls a fresh take (🎲 re-roll, 🔒 to pin one you like). GIF is slower with a tighter length cap; MP4/WebM are faster. Some devices record in real time (noted below if so) — keep the tab visible.

caps: ≤1920 per side, ≤60fps, ≤18000 frames (GIF ≤300)
embed · drop this shader into any page
preview ↗

Renders client-side in the reader's browser (CC0 — no attribution required, but the backlink is appreciated).