This article on monochromatic dithering techniques is amazing. https://surma.dev/things/ditherpunk/
@neauoire @levibeach here's a bunch I did in Kotlin a while back: https://codeberg.org/oppen/DitherKt/src/branch/master/src/online/fisk/filters/Filter.kt
@oppen @levibeach ahh! excellent thanks :) I will port this to C.
@neauoire you're welcome to adapt my atkinson dither C implementation any way you'd like: https://pbat.ch/wiki/dither/
@paul OOooh look at that the function is already there, lemme try it out :)
@neauoire if you find any problems with it let me know. The code is based on the info I found on this page: https://tannerhelland.com/2012/12/28/dithering-eleven-algorithms-source-code.html
@paul footer on the wiki is great btw, thanks.
@neauoire it's growing on me as well. thanks for the suggestion :)
@neauoire @levibeach Biskwit, NeuQuant and Wu's Quantizers are also worth a look. While they focus on colour the techniques work on greys too. I use NeuQuant and Wu for converting between 24-bit and fixed palette spaces on Amiga:
https://bisqwit.iki.fi/story/howto/dither/jy/
https://scientificgems.wordpress.com/stuff/neuquant-fast-high-quality-image-quantization/
Also Graphics Gems II is a hell of a book for this sort of thing: http://index-of.co.uk/Game-Development/Programming/Graphics%20Gems%202.pdf
@levibeach low tech magazine used dithered images in their low energy consumption redesign (https://solar.lowtechmagazine.com/about.html) !
they said it makes images 10 times less resource-intensive, even though they are displayed larger than before
@mood oh wow! I love this!! 🤔 though I wish it maintained its pixel-perfection instead of blurring things a bit.
@levibeach yes, agree—it’s more “impressive” when it kinda masquerades as high res 😁
@levibeach
> Ditherpunk
So that's what it's called! I love it.
@levibeach Oh wow, I need to try this *__*