Skip to content
0:00 / 0:00

#dithering#surface-stablefractaldithering#returnoftheobradinn

Surface-Stable Fractal Dithering Explained

runevision

27K subscribers • 3 videos on Hallway

YouTube
  • Recommended by 6 people: 3 on Hacker News, 1 on Lobsters and 2 in engineering communities.
  • Presented by Rune Skovbo Johansen, indie game developer
  • Linked in the descriptionrunevision/Dither3D

Intermediate. Assumes working knowledge.

646K views1 year ago6 recommendations

Graphics and audioGame developmentRenderingGPUs, shaders and CUDAGame programming

Rune Skovbo Johansen explains his open-source surface-stable fractal dithering technique, detailing the experiments and challenges of making dithering stick to 3D surfaces.

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: youtube.com/watch?v=EzjWBmhO_1E Find the shader source and example project here: github.com/runevision/Dither3D See the FAQ here for commonly asked questions: github.com/runevision/Dither3D/discussions/12 More info on what I've been up to here: blog.runevision.com Get Lucas Pope's game Return of the Obra Dinn: obradinn.com/ Get my game Eye of the Temple: eyeofthetemple.com/ Find me on social media: bsky.app/profile/runevision.bsky.social mastodon.gamedev.place/@runevision Join my Discord server: discord.gg/yGN7bDQ 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: Introduction Introducing Obra Dinn Dithering basics Dithering in Obra Dinn Scaling by nearest power of two Bayer threshold map deep dive Fractal levels and layers Math time More dots keep appearing Interlude Elusive shading It works! Limitations How it looks in a game

Why it's here

6 people recommend this

What people say. Recommended as a fascinating deep dive into solving the challenges of 3D surface-stable dithering, inspired by Return of the Obra Dinn.

u/fb39ca4in r/GraphicsProgramming • Recommends

Surface-Stable Fractal Dithering

soulseederon Lobsters • Recommends

Surface-Stable Fractal Dithering

u/Zervein r/GraphicsProgramming • Recommends

Surface-Stable Fractal Dithering

abetuskon Hacker News • Recommends

On “Surface-Stable Fractal Dithering”

…as a texture that doesn't have the "porch screen" effect and is stable. The video linked 0 to in the repo talks about experiments and shortcomings from the above I just listed. This work is in response to some challenges the developer of the "Return of the Obra Dinn" game experienced when trying to create a dithering effect in game 1 2. 0 link to this video 1 link 2 link…

qwertoxon Hacker News • Recommends

On “Bilinear down/upsampling, aligning pixel grids, and that infamous GPU half pixel (2021)”

On a similar note, yesterday I stumbled across a 4-days old video related to dithering which is really worth watching. " Surface-Stable Fractal Dithering " 0 by "Rune Skovbo Johansen, indie game developer and procedural generation enthusiast" 0 link to this video

qwertoxon Hacker News • Recommends

On “Writing my own dithering algorithm in Racket”

Somewhat related and worth watching: Surface-stable fractal dithering explained link to this video There's a follow-up video to that one.

m12kon Hacker News • Recommends

On “Dithering – Part 1”

And here's a couple videos about a technique that was inspired by the Obra Dinn's dither, but making it surface stable: link to this video (explanation) link (demo)

m12kon Hacker News • Recommends

On “Return of the Obra Dinn: spherical mapped dithering for a 1bpp first-person game”

If you find this interesting, you might also be interested in this video of someone diving even deeper into how to make the dither surface stable: link to this video

biercarstenon Hacker News • Mentions

On “The Art of Dithering and Retro Shading for the Web (2024)”

Ah, thats from runevision. I recently whatched his youtube video on this ( link to this video ) and "Return of the Obra Dinn" was also the first thing I thought of.

runevisionon Hacker News • Mentions

…. (That post (not by me) was here: link ) I've since made it work also in color (RGB dithering and CMYK halftone) and demonstrated what it looks like in true 1-bit (or 3-bit for color) at low resolutions as well. See the linked demonstration video for a variety of styles/aesthetics it can be used for: link The original explainer video is here: link to this video And the repository is here: link Lots of people both here and elsewhere has speculated about various alterations or different use cases, etc. I'd like to point to this FAQ that have a lot of common topics covered. If you have questions, suggestions or similar, it would be a good idea to check that out first (after the explainer video): [l…

jansanon Hacker News • Mentions

On “Writing my own dithering algorithm in Racket”

I think implementing a dithering algorithm is one of the most satisfying projects, because it is fun, small(ish) and you know when you are done. Of course, unless you are trying to implement something completely insane like Surface-Stable Fractal Dithering link to this video