Skip to content
Distortionary

A filter workshop

Image filters built from optics, signal processing and geometry.

Each one is grounded in published research or an exact construction, then tuned by eye on real photographs. For GIMP, Photoshop and the desktop, and on the command line for enterprise pipelines.

Two bushbabies peering out of a wooden post, redrawn as soft plum and amber halftone dots.
Before After
Drag. Patterntastic, soft-poster preset, on two bushbabies. Photo: Hendrik Prinsloo on Unsplash.

For GIMP and Photoshop now; the desktop next

01 · Bloom and glare

Bloomifier

Glow that follows the eye, not a blur slider.

Multi-pass bloom, ported from a game engine’s post-processing chain to still images, plus the four kinds of glare the vision literature measures separately: veil, corona, halo and streaks. Bright light spills the way it does on a retina, and it eases into the headroom below white instead of clipping into a flat disc.

  • GIMP 3
  • Photoshop
  • Desktop app
  • Command line · Enterprise
Night street with a strong glow around the lamps and light trails.
Before After
Night street. Glow only: intensity 3, threshold 0.55, scatter 0.5. Photo: David Berube.

02 · Pattern screens

Patterntastic

Halftones in any shape you like.

Redraws the image in tiled shapes: dots, lines, hexagons, stars, hearts, crosshatch and brick. Ink coverage follows the tone whatever the shape, so a star screen reads as cleanly as a dot screen, with crisp or soft edges.

  • GIMP 3
  • Photoshop
  • Desktop app
  • Command line · Enterprise
Two bushbabies peering out of a hole in a wooden post, redrawn as a black-and-white newspaper halftone.
Before After
Bushbabies. The halftone preset: black dots on white at 45°. Photo: Hendrik Prinsloo on Unsplash.

03 · Dithering and old screens

Retrotastical

Twenty-five dithers, and the cable and tube they came through.

Error diffusion, ordered, clustered-dot and blue-noise dithering, to levels or to a real palette: Game Boy, CGA, PICO-8, Riso inks. Then, if you like, the picture goes down a composite cable, onto a worn VHS tape, and through a CRT with scanlines, a shadow mask and phosphor glow.

  • GIMP 3
  • Photoshop
  • Desktop app
  • Command line · Enterprise
A curved concrete underpass lit by neon light trails, dithered in RGB and shown on an arcade monitor with scanlines.
Before After
Neon underpass. The arcade-crt preset: RGB dither, scanlines, a shadow mask and a light glow. Photo: Lei Hwang on Unsplash.

04 · Distressed type

Grungetyper

Type that wears like the real thing.

Set a phrase in a real font, properly shaped, then wear it down. Wear bites a set depth into every letter, so hairlines break before heavy stems do, the way old metal type and paint behave. Ink bleed spreads like ink, not like a blocky filter.

  • GIMP 3
  • Photoshop
  • Desktop app
  • Command line · Enterprise
The word Distortionary in letterpress style: squeezed dark ink with worn patches on paper.
letterpress, set in Neomodette Bold.

05 · Masks

Octodoctor

Masks from gradients and keys, snapped to edges.

A mask is a stack of up to eight layers. Each is a directional gradient or a key on one of the image’s channels, and each goes through the same response curve, so combining them takes one blend mode. “Blue, but only near the top of the frame” is a sky mask. An edge-aware pass then pulls the transitions onto real edges in the photograph.

  • GIMP 3
  • Photoshop
  • Desktop app
  • Command line · Enterprise
A coastal road under a cloudy sky, with everything but the blue sky tinted red to show the mask.
Before After
Coastal road. The sky preset, shown as an overlay: red is unselected. Photo: David Berube.

06 · Nixie tubes

Nixietyper

Words lit in a row of tubes.

Each character gets its own tube, lit in neon behind curved glass, and the tubes stand in a row as on a counter, a clock or an instrument panel. Every tube has its own seed, so no two are bent, worn or blown alike. The whole picture is composited in linear light, and the glare from all the tubes is laid over it at once.

  • GIMP 3
  • Photoshop
  • Desktop app
  • Command line · Enterprise
The digits 1957 lit in orange neon, each in its own glass nixie tube, hung in a row on a dark ground.
counter, set in Anokath.
Railway tracks at night beside an elevated road and lit towers, with bloom, veil, corona and six-blade streaks added around the signals and lamps.
Before After
Night rail. Glow plus a doubled scotopic veil, corona, halo and six-blade streaks. Photo: Aleksandr Popov on Unsplash.

Research, then tuned by eye

The glare around a street lamp has four parts. Bloomifier draws each one.

A veil of scattered light from the eye’s point spread function. Needles from particles in the lens. A rainbow ring. Streaks from the iris. The vision literature measures them separately, so the filter computes them separately, in linear light, sized in degrees of visual angle.

How the filters are made →

One Rust core, four front ends.

The same library backs every host, so a preset renders the same pixels in GIMP, Photoshop, the desktop app and a build script. The GIMP and Photoshop plug-ins are on sale now; the desktop app follows. The command-line tools come with Enterprise.

GIMP 3

A native GIMP 3 plug-in written in C, with the filter linked in statically. GIMP 3.0 or later, Linux and Windows.

Photoshop

A UXP panel running the filter as WebAssembly. Photoshop 2024 (25.0) or later, macOS and Windows.

Desktop app

Distortionary for the desktop: open, adjust with a live preview, export. Linux and Windows; macOS later.

Command line

Enterprise only. The same filter as a command-line tool, for batches, build scripts and render farms. Settings load from JSON presets.

Bought once. No subscription.

Each plug-in is $29, for GIMP or Photoshop; all 5 are $69. Builds for GIMP 3 and 2.10 on Linux and Windows, or Photoshop on macOS and Windows. Every purchase includes a year of updates, free: each new version lands under the same license key.

See the plug-ins

Complete set $69, sold through Gumroad

Distortionary is David Berube's filter workshop. Each filter starts from published research or exact geometry and is then tuned by eye on real photographs until it looks right. The catalog is small on purpose. A filter ships when it runs the same in every host and holds up on a full-size image.

Read the method →

Typermixer

Blends two fonts into a letter neither has: sets a phrase in both, matches their spacing, and blends the shapes. A stroke halfway between a hairline and a heavy stem comes out halfway thick, not gray.

Difftypemixer

The same blend, kept as vector outlines, so the result scales to any size and saves as SVG.

Each gets its own page when it’s finished. Not before.