Avoiding banding with 8bit textures

Does anyone have advice on how to avoid colour banding artefacts when using 8bit renderpasses (particularly noticable on greyscale shaded objects)?

afaik a technique is to apply a small amount of noise to the texture before it is downsampled to 8bit, in the same way you would dither audio.

edit - a small amount of noise tfx (0.0010 mix using normal bland mode) seems to work pretty well.

I’d be interested to know other people’s experience of this kind of thing, in the context of getting high quality renders from vvvv

edit2 - 0.0020 better :)

a real https://discourse.vvvv.org/t/6786 could do the job - but there’s no suitable implementation, yet.
perhaps that could now be achieved in a compute-shader?

did it some time ago…

OrderedDithering.rar (1.8 kB)

A number of different dithering techniques are available for dither graphics into a lower number of colors. There are some nice examples here: http://en.wikipedia.org/wiki/Dither#Algorithms

The technique I described above (adding noise to a 16bitF texture, then downsampling to 8 bit) doesn’t seem to work with dx11. I still get banding.

Any ideas?

this one works for me, adding noise when downsampling to 8bit

Dithering.zip (4.3 kB)