Ordered Dithering with Arbitrary or Irregular Colour Palettes (2023)

Retro dots, big fight: new color trick splits the crowd

TLDR: A new guide shows how to use neat dot patterns to fake extra shades even with weird color sets, thrilling game devs and e‑ink tinkerers for its speed. Commenters split into dot-lovers versus blend-purists, arguing pattern vibes versus natural look—and everyone agrees the palette you pick makes or breaks it.

A tech blogger just showed how to make crisp, retro-style dot patterns (“dithering”) work even with oddball color sets, and the comments immediately turned into a pixel boxing ring. The post on matejlou.blog explains a fast, repeating-pattern approach that fakes extra shades by sprinkling tiny dots—now tuned for weird palettes—so your image looks smoother.

Fans are losing it in a good way: shader folks and indie devs say it’s fast, clean, and perfect for games and e‑ink screens. One artist joked they can finally make a 5‑color sunset that doesn’t “cry in banding.” Memes flew—“Bayer? I barely know her”—and someone posted a cat photo dithered to eight colors like it was a Renaissance painting.

But the purists marched in. The “team Smear” crowd (who love the older “spread the error” method that blends mistakes across pixels) called the dots “fake detail” and accused them of creating carpet-like patterns. They argue it looks worse on photos and skin tones, while dot defenders say pattern beats speckle and runs way faster on GPUs. The hot take of the day: it’s not about dots vs noise, it’s about palette choice—if your colors are trash, no trick saves you. Verdict? The community is gloriously split, and the screenshots are 🔥.

Key Points

  • Dithering adds noise to mitigate information loss from color quantization, improving visual smoothness in reduced palettes.
  • Random-noise dithering can introduce distracting texture that obscures image details.
  • Ordered dithering uses a threshold map (tiled matrix) to apply position-dependent perturbations, producing clearer results.
  • The article provides a 4×4 threshold matrix and formula p' = p + M[i,j] − 0.5 as an example implementation.
  • Error-diffusion dithering is introduced as an alternative that propagates quantization error to neighboring pixels.

Hottest takes

"If your palette is bad, no amount of dots will save you" — colorchemist
"I’d rather eat banding than look at checkerboards all day" — photoguy88
"This is the first dithering I’d ship on a watch face—fast AND pretty" — shaderbaker
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.