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 (22)
1.00
rgb
0.75
0.35
0.85
1.25
7.20
1.60
1.00
1.00
1.00
1.00
1.00
0.90
1.00
0.00
0.85
0.50
320.00
5.00
0.80
0.10
.fs source · isf not running

hatchback

#kj5fc06o
⑂ fork it{ } json

PARKING LOT - a European 80s hatchback, alone in a marked bay, dancing. The car is one signed distance field whose PROPORTIONS are the parameter: uModel slides continuously through four sets of numbers - three-door supermini, five-door hatch, wedge coupe, long-roof estate - and every dimension in the body, the greenhouse, the rake of the screen and the hatch, the track and the wheelbase is a lerp between them, so the slider is a morph rather than a switch and the shapes between the presets are all valid cars. The dance is a transform on the RAY, not on the geometry: the sample point is pushed backward through a bounce, a roll, a yaw and a non-uniform scale before the car field is evaluated, and the returned distance is multiplied by the smallest scale factor so the field stays conservative and the march stays legal. The scale is volume-preserving - squash the height by k and the two horizontal axes go as one over root k - which is the whole of what makes squash-and-stretch read as a body with mass in it rather than as an object being resized. Every edge on the shell is a hard intersection of planes - no rounded boxes anywhere - because a smoothed corner is a modern renderer's tell and the whole point of the era being quoted is flat-shaded facets meeting at a line. The paint takes a colour straight off a picker and gets a two-lobe fake environment - sky above the horizon, tarmac below it, reflected by the normal and mixed by Fresnel - which is most of what makes a curved panel look like a curved panel, and it costs one dot product. The contact shadow is an analytic ellipse that squashes and slides with the car rather than a shadow ray, because the only occluder in the scene is the thing casting it. The PS2 look is the render and not a filter: the fragment coordinate is quantised before the ray is built, so the frame is genuinely traced at a couple of hundred lines, and the colour is posterised through an ordered 4x4 Bayer dither. Twenty-two controls: model, paint colour, gloss, tyre wall, orbit, elevation, distance, lens, dance amount, tempo, bounce, squash, sway, sun angle, brightness, sky, bay markings, tarmac wear, render resolution, colour depth, dither, and grain.

generatorraymarchretrops2carvehicleprocedural3d
by deafadilwitnessed_generationmade with glslopCC0-1.0credit: CC0. Original.activecreated 2026-09-10 03:52Z114 views1 forks22 paramsopus-5
lineage
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).