HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
runevision
Dither3D
ShaderLab2025–2025
runevision / Dither3D

Dither3D

Surface-Stable Fractal Dithering

5Distinct people
5Mentions
0Explicit recommenders
1.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Surface-Stable Fractal Dithering

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day5 dated mentions

Observed mentions: 2025-01-23 22:50:11 UTC to 2025-02-23 00:50:04 UTC.

012025-01-23 00:00:00 UTC to 2025-01-24 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJan 232025-01-24 00:00:00 UTC to 2025-01-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-25 00:00:00 UTC to 2025-01-26 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-26 00:00:00 UTC to 2025-01-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-27 00:00:00 UTC to 2025-01-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-28 00:00:00 UTC to 2025-01-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-29 00:00:00 UTC to 2025-01-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-30 00:00:00 UTC to 2025-01-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-31 00:00:00 UTC to 2025-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-01 00:00:00 UTC to 2025-02-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-02 00:00:00 UTC to 2025-02-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-03 00:00:00 UTC to 2025-02-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 00:00:00 UTC to 2025-02-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-05 00:00:00 UTC to 2025-02-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-06 00:00:00 UTC to 2025-02-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-07 00:00:00 UTC to 2025-02-08 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 72025-02-08 00:00:00 UTC to 2025-02-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-09 00:00:00 UTC to 2025-02-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-10 00:00:00 UTC to 2025-02-11 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-02-11 00:00:00 UTC to 2025-02-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-12 00:00:00 UTC to 2025-02-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-13 00:00:00 UTC to 2025-02-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-14 00:00:00 UTC to 2025-02-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-15 00:00:00 UTC to 2025-02-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-16 00:00:00 UTC to 2025-02-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-17 00:00:00 UTC to 2025-02-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-18 00:00:00 UTC to 2025-02-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-19 00:00:00 UTC to 2025-02-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-20 00:00:00 UTC to 2025-02-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-21 00:00:00 UTC to 2025-02-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-22 00:00:00 UTC to 2025-02-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-23 00:00:00 UTC to 2025-02-24 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 23

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 232025-01-23 00:00:00 UTC2025-01-24 00:00:00 UTC110
Jan 242025-01-24 00:00:00 UTC2025-01-25 00:00:00 UTC000
Jan 252025-01-25 00:00:00 UTC2025-01-26 00:00:00 UTC101
Jan 262025-01-26 00:00:00 UTC2025-01-27 00:00:00 UTC000
Jan 272025-01-27 00:00:00 UTC2025-01-28 00:00:00 UTC000
Jan 282025-01-28 00:00:00 UTC2025-01-29 00:00:00 UTC000
Jan 292025-01-29 00:00:00 UTC2025-01-30 00:00:00 UTC000
Jan 302025-01-30 00:00:00 UTC2025-01-31 00:00:00 UTC000
Jan 312025-01-31 00:00:00 UTC2025-02-01 00:00:00 UTC000
Feb 12025-02-01 00:00:00 UTC2025-02-02 00:00:00 UTC000
Feb 22025-02-02 00:00:00 UTC2025-02-03 00:00:00 UTC000
Feb 32025-02-03 00:00:00 UTC2025-02-04 00:00:00 UTC000
Feb 42025-02-04 00:00:00 UTC2025-02-05 00:00:00 UTC000
Feb 52025-02-05 00:00:00 UTC2025-02-06 00:00:00 UTC000
Feb 62025-02-06 00:00:00 UTC2025-02-07 00:00:00 UTC000
Feb 72025-02-07 00:00:00 UTC2025-02-08 00:00:00 UTC101
Feb 82025-02-08 00:00:00 UTC2025-02-09 00:00:00 UTC000
Feb 92025-02-09 00:00:00 UTC2025-02-10 00:00:00 UTC000
Feb 102025-02-10 00:00:00 UTC2025-02-11 00:00:00 UTC101
Feb 112025-02-11 00:00:00 UTC2025-02-12 00:00:00 UTC000
Feb 122025-02-12 00:00:00 UTC2025-02-13 00:00:00 UTC000
Feb 132025-02-13 00:00:00 UTC2025-02-14 00:00:00 UTC000
Feb 142025-02-14 00:00:00 UTC2025-02-15 00:00:00 UTC000
Feb 152025-02-15 00:00:00 UTC2025-02-16 00:00:00 UTC000
Feb 162025-02-16 00:00:00 UTC2025-02-17 00:00:00 UTC000
Feb 172025-02-17 00:00:00 UTC2025-02-18 00:00:00 UTC000
Feb 182025-02-18 00:00:00 UTC2025-02-19 00:00:00 UTC000
Feb 192025-02-19 00:00:00 UTC2025-02-20 00:00:00 UTC000
Feb 202025-02-20 00:00:00 UTC2025-02-21 00:00:00 UTC000
Feb 212025-02-21 00:00:00 UTC2025-02-22 00:00:00 UTC000
Feb 222025-02-22 00:00:00 UTC2025-02-23 00:00:00 UTC000
Feb 232025-02-23 00:00:00 UTC2025-02-24 00:00:00 UTC101

What Hacker News says

5 sources
The author of the technique has an explanation of why screen-alined dithering is hard in their FAQ. https://github.com/runevision/Dither3D/discussions/12 Particular, it's hard to deal with anisotropy, and naive approaches to fix this hurt either break the operation as a dither with uniform dot sizes, or struggle to avoid becoming regular at angles. I agree with the claim, though, that you lose quite a lot by having the dither pattern stuck to surfaces. There is a charm to it for sure, but a high quality screen space dither would be cool. And so I experimented with some ideas and came up with one. Forgive the jank, I'm learning as I go. https://www.shadertoy.com/view/WfBGzK Note that this is using a random dither versus a patterned one, which I think hurts the aesthetics a lot, but I am certain this is incidental to the concept. I think t
Read the rest
here are probably much smarter techniques, and I have an idea for a large rewrite already, but those are details, just take this as a proof of concept.
In Surface-Stable Fractal Dither on Playdate
I'd like to expand with some more details and developments since the post I saw here a few weeks ago about my Surface-Stable Fractal Dithering technique. (That post (not by me) was here: https://news.ycombinator.com/item?id=42808889) 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: https://www.youtube.com/watch?v=EzjWBmhO_1E The original explainer video is here: https://www.youtube.com/watch?v=HPqGaIMVuLs And the repository is here: https://github.com/runevision/Dither3D 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 comm
Read the rest
on topics covered. If you have questions, suggestions or similar, it would be a good idea to check that out first (after the explainer video): https://github.com/runevision/Dither3D/discussions/12 Furthermore, lots of people have been inspired to make their own implementations, or related effects inspired by Surface Stable Fractal Dithering. I keeping a list of the ones I know about here: https://github.com/runevision/Dither3D/discussions/14 For example, Aras Pranckevičius got a simplified version of the effect to work on Playdate. Since the Playdate does not have a GPU, the effect (along with 3D rasterization in general) is implemented fully CPU-based here. https://aras-p.info/blog/2025/02/09/Surface-Stable-Fractal-D... Ryan / InfernalWAVE is working on an implementation for Godot: https://x.com/InfernalWAVE_/status/1888718257122668705 arColm made shaders for MineCraft: https://bsky.app/profile/arcolm.bsky.social/post/3lhdjbrhzis... I've been surprised and happy that the effect has gotten as much interest as it has, and I'm hoping we'll eventually see games released that use this technique.
In [dead]

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.