How can I create a blue noise dithering effect on a sprite with shader graph

Hi,

I’m working on a pixel art project with URP. It will use texture gradients as sprites, but since those gradients are very subtle, I have to deal with some color banding issues.

I tried checking the dithering option on the camera, but it doesn’t fix all my problems.

From what I understand, I could use a blue noise dithering shader on my texture, to camouflage the banding. However, I didn’t find any tutorial to create this effect in shader graph, and since I’m fairly new to Unity and its shader system, I have no idea how to set it up.

Maybe some of you know how to do it?

Hi,
You could probably just use some artistic solution (like I just did) by overlaying the noise with very small intensity.
Just use a tiling, ready made texture-based noise? Then you can adjust the scale and tiling depending on what you need.

This will most likely help to break up the banding patterns in the image and depending on your display device and eyesight quality of the effect might be quite ok. You will also need to compensate for the brightness change depending on how you blend in the noise.

See my example:

Graph

Comparison

3 Likes