Anodized Fold preview
Anodized Fold Pro · Coming soon for Aperveil 1.0 WebGPU shader

Colour with no pigment in it.

A WebGPU sheet of metal strips folded over one another and coloured the way anodising colours a real part: by interference in a transparent oxide film, so each strip walks the fringe sequence as it rolls, creases and turns its other face.

Meet the surface

Part of Aperveil Pro · Coming soon. The live demo, editor and downloads will open in a later release. Free shaders and blocks are available now.

Pro · Coming soon for Aperveil 1.0React exportRaw WGSL

Inside Anodized Fold.

Anodising does not pigment a metal. It grows a transparent oxide a few hundred nanometres thick on top of it, and the colour is interference between the light reflected off the top of that film and the light reflected off the metal underneath. So the colour here is computed, not sampled: the optical path is 2·n·d·cos(theta_t) with the refracted angle from Snell's law, and each palette colour stands in for one sampled wavelength. That only shows if the surface turns, so the geometry is built to turn. The sheet is a set of strips folded over one another, each rolling about its own centreline: a flat strip at roll theta shows |cos theta| of its width, so where it turns edge-on it creases and comes back showing its other face. Each strip is bent a little across its width, so its normal — and with it the colour — sweeps as you cross it. The metal is lit the way product photography lights metal, by what it reflects: a softbox key, a long strip light and a dark room, with Schlick Fresnel on a conductor's high F0 and the film tinting everything reflected. Strips are stacked back to front, each casting a contact shadow on the ones behind it.

Three wavelengths are not a spectrum, and this is a two-beam approximation: the multiple internal reflections of the full Airy summation are not solved, the oxide has one fixed index and no absorption, and the metal's complex refractive index is stood in for by a single Schlick F0. The strips are analytic sections, not a cloth or sheet-metal simulation, and the contact shadow is a screen-space occlusion rather than a traced one; there is no interreflection between folds. Nothing here is an electrochemistry model — the thickness drifts along the strips by an art-directed coupling, not by a solved current distribution.

1.966 ms GPU timestamp median; p95 2.556 ms. 1440x900 @ dpr 1.5; Metal driver on macOS Version 26.6.2 (Build 25G83); measured 2026-09-18. This is a recorded headless sample, not a browser FPS or mobile-performance guarantee.

Film thickness

Thickness of the oxide in nanometres. It sets which interference order the surface sits at, exactly as the anodising voltage does.

Film index

Refractive index of the oxide. It bends the light on the way in, so it changes how fast the fringes crowd toward the silhouette.

Thickness variation

How much the oxide thickness follows the fold. Anodising grows by current density, and current density follows the geometry, so a real part is never one thickness everywhere.

Fringe contrast

How saturated the interference colours are; 0 shows bare metal, above 1 deepens the bands.

Color Looks preserve these settings. Open the editor for all 25 controls.

Coming soon.

This Pro surface's demo, editor and downloads will open in a later release. Free shaders and blocks are available now.

Explore shaders

Made for a real interface.

Open a hardware, materials or fashion page with a surface that changes as it turns. Keep the page dark, and let the visitor swing the light so the fringes walk.

Anodized Fold used behind an example interface
NIOBEExample composition

Finish study

The colour is the surface.

An illustrative product page for a house that anodises rather than paints.

Process

Oxide grown, never sprayed.

Range

By voltage, not by tin.

Illustrative layout, not a customer project. The image is a still preview of the selected Look.

An illustrative layout. Your content stays in HTML; the shader sets the atmosphere.

Before you ship.

What this surface does, where it fits, and where it stops.

All shaders

Make Anodized Fold yours.