Live data from Hacker News

Why do we need dithering?

typefully.com

61–70 of 115 posts

Re: Why do we need dithering?

#61
post #23

You still see dithering from time to time as a cheap transparency, it's been a few years since Mario Odyssey but that's when last I recall it really stood out: https://xcancel.com/chriswade__/status/924071608976924673

This is what I'm doing for my game, I didn't know it was actually a thing in some big titles too, that's reassuring. I landed on it because it was a huge code simplification compared to every other method of handling transparency, and it doesn't look completely shit in the era of high resolutions and frame rates.

Re: Why do we need dithering?

#62
post #61
post #23

You still see dithering from time to time as a cheap transparency, it's been a few years since Mario Odyssey but that's when last I recall it really stood out: https://xcancel.com/chriswade__/status/924071608976924673

This is what I'm doing for my game, I didn't know it was actually a thing in some big titles too, that's reassuring. I landed on it because it was a huge code simplification compared to every other method of handling transparency, and it doesn't look completely shit in the era of high resolutions and frame rates.

I just implemented it for a VR app I’ve been working on where the semi-transparent objects can appear any which way, intersecting, etc. I didn’t realize how much of an issue that’d be…or how hard it’d be to come up with a shader for dithering in VR that doesn’t look awful. I’m still not super happy with what I have - it moves along with the player’s eyes - but every other solution I could come up with didn’t interact well with two screens, especially at far distances from the object. Moire for days.

Re: Why do we need dithering?

#64
I haven't written about this yet but I don't often see it mentioned: dithering has applications outside of image processing. Any time one needs to create a sequence sampled from a distribution, but would like to do so "evenly" without creating lumps, Floyd–Steinberg is a decent candidate.

Re: Why do we need dithering?

#65
post #38
post #25

Earlier quoted context omitted.

The original Lenna is controversial, but I'm delighted to share the "ethically sourced Lenna": https://mortenhannemose.github.io/lena/

This feels better than the original anyway. I never liked the yellow color that one had. Maybe it was an artistic choice, but to me it just looked degraded, like when white plastic is left exposed to the sun.

[deleted]

Re: Why do we need dithering?

#66

Can somebody explain to me how dithering is an aesthetic (as mentioned in the article)? I feel I'm too young to understand that

It's related to nostalgia. If you have lived at the time where dithering was used, you will have an emotional response to it. For example, if you played games as a child with dithering, then playing The Return of the Obra Dinn, which was mentioned in other thread, will take you back to a happy place.

And even if you did not live at that time, exposure to that distinct visual style will also start having meaning to you. Like how an exposed brick interior wall has a distinct aesthetic, and carries connotations of an industrial space.

Re: Why do we need dithering?

#67
post #22

Earlier quoted context omitted.

This also used to be a really common test image: https://en.wikipedia.org/wiki/Lenna But its apparently a cropped centerfold from Playboy

And a poster of Lenna is on the wall of the Richard Hendricks character in the Silicon Valley series. Which makes sense as he's working on a compression algorithm.

Just a heads-up: you seem to be shadow-banned, all your comments are auto-dead.

Re: Why do we need dithering?

#69
post #64

I haven't written about this yet but I don't often see it mentioned: dithering has applications outside of image processing. Any time one needs to create a sequence sampled from a distribution, but would like to do so "evenly" without creating lumps, Floyd–Steinberg is a decent candidate.

Also in audio to downsample to 16 bits.

Re: Why do we need dithering?

#70
post #41

Dithering is still very common in rendering pipelines. 8 bits per channel is not enough to capture subtle gradients, and you’ll get tons of banding. Particularly in mostly monochrome gradients produced by light sources. So you render everything to a floating point buffer and apply dithering. Unlike the examples in this post, this dithering is basically invisible at high resolutions, but it’s still very much in use.

Another place where dithering is useful in graphics is when you can’t do enough samples in every point to get a good estimation of some value. Add jitter to each sample and then blur, and then suddenly each point will be influenced by the samples made around them, giving higher fidelity.

I recently learned the slogan “Add jitter as close to the quantisation step as possible.” I realised that “quantisation step” is not just when clamping to a bit depth, but basically any time there is an if-test on a continuous value! This opens my mind to a lot of possible places to add dithering!

Post reply on HN