DESUSTUDIO

Dither

Ordered dither with the pixel as the unit — dunes, a vortex, an orb.

Open in Studio
Dither shader — a two-arm spiral vortex in blue and black, drawn in a coarse pixel lattice

Description

The pixel is the unit. A continuous field is sampled once per lattice cell, then quantized through an exact canonical Bayer 8×8 threshold matrix — built by bit-interleave and verified against the recursive definition, all 64 values unique — so every fragment in a cell agrees. Crisp squares, no anti-aliasing inside the lattice: print, not blur. Cells stay square on any canvas, and Pixels counts rows across whatever you can see. Below about two pixels a cell fades to the continuous ramp, so nothing moirés at any zoom.

Three fields live behind Pattern. Dunes stacks horizons receding into depth, each ridge claiming its own tone band, fog pooling between the layers, a halftone sun half-set behind the far crest, every horizon parallaxing at its own rate. Vortex is a two-arm logarithmic spiral draining into a dark core, its bands running to the very edge, sparse stars twinkling in the dark. Orb is a Lambert-lit sphere with its terminator sweeping as the light orbits. Tones is the posterizer: 2 is pure 1-bit; higher counts band the ramp so the dither lives only in the transitions — the magazine halftone look. Smoothness is the hand: at 0 the bands are inked freehand, at 1 every field irons back to its pure geometric form. Grain cross-fades the threshold from ordered Bayer to interleaved gradient noise.

Presets

NameLook
VortexThe two-arm spiral, 1-bit, blue ink on black.
DunesFive horizons at dusk, a coarse lattice, a sun on the far crest.
OrbA phosphor-green sphere on black, terminator dissolving into pixels.

Parameters

NameDescriptionRangeDefault
ScaleZoom of the field; on Dunes, the size of the dunes (the composition always fills the frame)0.2 to 31
SpeedHow fast it moves; 0 freezes it0 to 20.25
PixelsLattice rows across the visible frame; cells are always square24 to 420220
TonesPosterize steps; 2 is pure 1-bit, more bands the ramp with dither only in the seams2 to 82
ContrastTransition width; on Dunes, the atmosphere — low is misty, high is hard-cut plates0 to 10.2
GrainThreshold source: ordered Bayer through to interleaved gradient noise0 to 10
BandsDensity: ridge count on Dunes, spiral winding on Vortex0 to 10.5
Smoothness0 is the freehand-inked look; 1 irons every field back to pure geometry0 to 10
PatternWhich fieldDunes · Vortex · OrbVortex
ColorThree-stop ramp: Base, Mid, Ink3 hex colors#000000, #2b5d94, #5ea4ec

In the studio

Open in Studio spawns this shader as a live layer with your settings, born landscape. It composites like any other layer — behind a cut-out subject, clipped inside text, under a halftone or CRT pass, or exported as looping video. Everything runs on your device.

Requirements

The live preview needs WebGPU: Chrome or Edge 113+, Firefox 141+, or Safari 26 (macOS 26 / iOS 26). Without it, this page shows a still frame.