logoalt Hacker News

mistercow11/09/20241 replyview on HN

I think first and foremost, using dither patterns is just a lot more authentic to the old black and white visual style Obra Dinn is emulating. Go on YouTube and watch some clips of Shufflepuck Café or The Manhole and you'll see that it's all hand drawn art specifically designed to be viewed in 1-bit, and it's all based on dither patterns, not error diffusion.

Error diffusion may yield better results for converting photos to lower bit depths, but it also makes very noisy looking images where edges are muddied and shades bleed into each other. Bitmap art of that era used patterns because it gave the artist a lot more control over the look.

The goal here is not to minimize PSNR or anything like that, but to give a clear and aesthetically pleasing image. And the goal of Obra Dinn is to do that while also matching a historical style. And if you look at individual screen caps of the game, you can see just how successful that effort was.

Secondly, error diffusion is nonlocal, which makes it hard to implement efficiently on a GPU. With a dither pattern, you can calculate each pixel individually, which is ideal for a shader. With error diffusion, you might be able to do some kind of wacky exclusive scan approach with multiple passes to squeeze some parallelism out, but its almost certainly going to perform worse than a dither pattern.

Finally, locking error diffusion to the camera like he did with the dither patterns sounds even harder than the already difficult work he did to get to a decent level of temporal coherence. I honestly have no idea how you'd do it, because the idea is just antithetical to the entire concept. If you don't solve that problem, I think the result would not only fail to capture the intended aesthetic, but would also be pretty nauseating to look at.


Replies

cubefox11/11/2024

That makes sense, just one remark:

> I think first and foremost, using dither patterns is just a lot more authentic to the old black and white visual style Obra Dinn is emulating. Go on YouTube and watch some clips of Shufflepuck Café or The Manhole and you'll see that it's all hand drawn art specifically designed to be viewed in 1-bit, and it's all based on dither patterns, not error diffusion.

That's true for ordered dither patterns like Bayer, which Obra Dinn uses for some objects. But the rest uses a blue noise pattern, which stylistically has a "look" similar to error diffusion, but in terms of preserved detail it behaves only as well a Bayer pattern, so not as well as error diffusion.