I will never, ever stop loving Bill Atkinson’s dithering algorithm. If you cut your teeth on Macpaint or Hypercard, you probably recognize it without even realizing it.

There’s a great post for the supernerds in the room that goes into the nature of “dithering” and even explains the algorithmic nudges Atkinson Dithering uses to achieve its distinctive look: https://surma.dev/things/ditherpunk/

These days, dithering is usually encountered as an affectation or an artifact; we’ve got ridiculously high res deep color displays on our *wrists*. Back in the 80s when Atkinson was doing some of his most memorable work, though, it was the cutting edge of image display optimization.

Ditherpunk — The article I wish I had about monochrome image dithering — surma.dev

I always loved the visual aesthetic of dithering but never knew how it’s done. So I did some research. This article may contain traces of nostalgia and none of Lena.

@eaton
A place you'll encounter dithering but you won't even notice is DLP (MEMS mirror) based projectors (like in most movie theaters). Their mirrors are a 1-bit display (mirrors can only flip to turn on or off the light ,not vary the intensity) so a lot of creative image processing and dithering takes place to get millions of colors without image artifacts.
@eaton
That’s a great read. Lays out multiple algorithms nicely. Well done, @surma
@eaton Excited for this read!
@eaton Very good article! Has my stamp of approval as someone who has had his share of image processing algorithms over the years.
@rjschutten It’s not often someone gives a guided tour of the *aesthetics* of image processing algorithms in addition to the technicalities. Was really pleased to stumble across it!

@eaton

So my wife and I rearranged a bunch of furniture and cleaned out the attic in the heat today and then I spent a long time cooking a nice dinner for family and friends and may have had a few beers in the process and my tired and tipsy ass truly thought for a second that “Atkinson Dithering” was, I don’t know, the person (of the Baltimore Ditherings?) who invented dithering even though I knew who Bill Atkinson was and how dithering worked.

@eaton Ha, I just stumbled upon that post when I went looking to see what algorithm Return of the Obra Dinn used. Sadly, as the post explains, Atkinson Dithering wasn't possible to use as it's a linear algorithm and the Obra Dinn needed a parallel algorithm so it could be rendered as a shader by the GPU. I don't think the downsides of the algorithms used were particularly apparent, though.

I kinda wish someone (doesn't *have* to be Pope) would do more dithered 3D games. I very much like the aesthetic of that game.

@eaton Excellent post, many thanks!

Blue noise certainly seems a good solution, but I agree that Riemersma isn't bad. I also enjoyed your choice of heading font, given the subject!

@eaton Actually, reading further, this post by the author of 'Return of the Obra Dinn' is also fascinating:

https://forums.tigsource.com/index.php?topic=40832.msg1363742#msg1363742

Return of the Obra Dinn [Releasing Oct 18]

Return of the Obra Dinn [Releasing Oct 18]

@eaton you say that but, laser printers! For which there might well be epic algos, but they’re not used by our printer bought a year ago where the dithering _sucks_, unless you’re looking for massive “it’s like pop art!” structured dots on anything slightly grey.
@eaton atkinson dithering looks SO aesthetically pleasing!
@eaton @brouhaha I love a good nerdy deep dive like this. Fascinating!
@eaton dithering still looks better than gradients!
@eaton I use dithering to run my art to this thermal printer. Atkinson is so good at catching tonal shifts, it somehow gets the context right every time. I love it
@tibi2 That's awesome, my partner has a similar one, I'll have to see if there's a way to use that algorithm with it... :D
@eaton the various python utils for it all seem to use floyd steinberg so i use secondary apps to convert an image.
(web) https://gazs.github.io/canvas-atkinson-dither/
(mobile) https://github.com/mikljohansson/retroboy/
Could probably do a proper writeup on how i use it lol
Atkinson Dithering