Skip to content

No.104 · Backgrounds

Tessera

A frosted-glass mosaic of tilted panes that catch a slowly sweeping light — and warm in colour near your cursor.

The prompt

Written for the variant you picked above: Frost

Write a WebGL1 background that looks like a wall of leaded, frosted glass. Tile the surface with a Voronoi diagram (about seven panes across the shorter side) whose feature points breathe very slowly, and treat every cell as a separate pane of glass. Give each pane its own tilt from a hash of its cell id, turn that into a surface normal, and light it with a directional light that sweeps slowly across the wall over ~50 seconds: Lambert diffuse for the body of the pane plus a tight specular glint, so panes flare and dim one by one as the light passes. Add fine per-pixel frost noise inside each pane, vary each pane's thickness a little, and draw dark leading along the edges (F2 − F1 below ~0.05) with a faint bevel highlight just inside each edge. Finish with a gentle vignette. The cursor warms the glass: compute each pane's centre and blend panes within ~0.3 of the pointer toward the palette's warm tint, so whole tiles change colour rather than a round spotlight — the mosaic stays a mosaic. Ease pointer position and strength. Render at 0.8× (0.6× and ~30fps on touch), pause offscreen, and draw one still frame under reduced motion. Palette: [grout, glass, highlight, warm]. Selected variant — Frost: Frost glass: palette [#07050a grout, #7f93b8 glass, #eef3fb highlight, #c8a0e0 warm] — cool blue-grey panes that warm to lilac under the cursor.

Notes

Interaction
Panes near the cursor warm toward the accent colour, tile by tile, and cool again when it leaves.
Motion
Light sweeps continuously (~50s cycle); feature points breathe; pointer warmth eases at 5–10% per frame.
Accessibility
Canvas is aria-hidden; reduced motion renders a single still frame.
Responsive
Tile count scales with the container's shorter side; density is a prop.
On touch
No warming on touch; the light sweep carries it.

Featured

301 components