strike icon indicating copy to clipboard operation
strike copied to clipboard

Suggestion: use ordered dithering instead of separate dither patterns

Open fluffy-critter opened this issue 4 years ago • 4 comments

The current dither patterns cause some bad interfacing between the boundaries of multiple "colors", resulting in visible fringing that looks like dark or bright spots due to, for example, a pixel disappearing from a brighter pattern when it appeared in a darker pattern.

If the patterns were generated as ordered/Bayer dithering patterns, this effect would be eliminated.

https://en.wikipedia.org/wiki/Ordered_dithering for more information

image

fluffy-critter avatar May 04 '20 02:05 fluffy-critter

The dither patterns I currently have are (some of) the same dither patterns used in HyperCard, which was my initial inspiration. I probably wouldn't want to change it outright, since I specifically chose the patterns that I personally use most often - but I am thinking of possibly supporting multiple dither 'sets', and allowing the user to switch between them.

dmliao avatar May 07 '20 06:05 dmliao

Ah, that makes sense!

fluffy-critter avatar May 07 '20 06:05 fluffy-critter

I like the current dither patterns; I think they are more visually distinct than ordered dithering.

I wonder how difficult it would be to detect and adaptively fill in the boundaries of different patterns. This might cause patterns to be drawn slightly outside of their established boundaries, but it might eliminate the visual gaps on the borders.

AVHon avatar May 08 '20 04:05 AVHon

@AVHon i like that idea.

Strike could move close fitting borders to eliminate gaps between them?

And perform some sort of algorithm when filling edges to avoid pixel clash?

gingerbeardman avatar May 08 '20 08:05 gingerbeardman