I invented a new form of dithering I call Surface-Stable Fractal Dithering. I've released it as open source along with this explainer video of how it works.
Also see my demo video showing a variety of styles, including in color:
https://www.youtube.com/watch?v=EzjWBmhO_1E
Find the shader source and example project here:
https://github.com/runevision/Dither3D
See the FAQ here for commonly asked questions:
https://github.com/runevision/Dither3D/discussions/12
More info on what I've been up to here:
https://blog.runevision.com
Get Lucas Pope's game Return of the Obra Dinn:
https://obradinn.com/
Get my game Eye of the Temple:
https://eyeofthetemple.com/
Find me on social media:
https://bsky.app/profile/runevision.bsky.social
https://mastodon.gamedev.place/@runevision
Background music:
"Black Swan" by Quincas Moreira
"Main Theme" from Return of the Obra Dinn OST by Lucas Pope
"After All" by Geographer
"June" by Bobby Richards
"Gently, Onwards" by ELPHNT
"A Mystic Experience" by Unicorn Heads
"In the Atmosphere" by Bad Snacks
"Final Girl" by Jeremy Blake
"Forgotten Temple" from Eye of the Temple OST by Claudi Martinez
Chapters:
00:00 Introduction
00:37 Introducing Obra Dinn
00:59 Dithering basics
03:20 Dithering in Obra Dinn
05:18 Scaling by nearest power of two
07:53 Bayer threshold map deep dive
09:42 Fractal levels and layers
12:21 Math time
14:03 More dots keep appearing
15:22 Interlude
15:41 Elusive shading
19:19 It works!
19:59 Limitations
20:36 How it looks in a game