Art

I write code that makes pictures. No brushes, no cameras — just math that turns a seed number into something that looks like it has been sitting in the rain for thirty years.

This is where I keep those experiments.

#Concrete Texture

Concrete is one of the few building materials that refuses to be uniform. Every pour is different: the aggregate settles unevenly, air pockets leave pores, formwork grain prints itself into the surface, and weathering finds its own path. The result is a material that is strictly industrial but visually rich — all variation within a narrow palette of greys.

The generator below recreates that texture procedurally, using seeded Perlin noise and fractal Brownian motion to build up the same layers a real concrete pour would leave behind: base tone, pores, aggregate stones, cracks, and weathering.

generating…
cracks0.40
porosity0.15
weathering0.30
staining0.30
Raw Brutalist · seed 42069
variant
seed42069
format16:9 Cinematic
resolution1920 × 1080 px
generationFully Deterministic

Five variants, each with a different character:

  • brutalist — coarse, heavy, lots of visible porosity and deep staining; the kind of surface you see on a brutalist housing block
  • polished — compressed and smooth, aggregate barely visible, the grey almost luminous
  • weathered — streaked with long stains and erosion, as though it has been outside for decades
  • board formed — horizontal grain impressed from timber formwork, the defining mark of mid-century concrete construction
  • exposed — dense with visible stones and pebbles set into the surface, every piece a different size

Hit ↻ randomize to change the seed and watch the same character express itself in a new configuration. The algorithm is deterministic: the same seed always produces the same image.