Color Banding


#1

While learning the basics of using appleseed through the Blender exporter, I rendered a very simple scene. Color banding is present in the image. With Cycles, there is an option for Dithering to smooth the color banding. Is there an option to enable the equivalent of dithering in appleseed? Please see the attached image.
Thank you.


#2

Hi @pulsewave,
Welcome to the forum.

First, from the picture alone it is hard to tell if the banding stems from the renderer or is caused by saving it in JPEG format. Subtle gradients in a scene are always prone to image artifacts when the image is saved in JPEG due to the 8-bit color encoding and lossy dct compression. Better use 16-bit PNG or EXR format and see if the issue still appears.
That said, color banding can still be an issue when the scene has simple materials without any texture.
One way to get rid of it would be to add a noise texture to the surface color ensuring minute color variations.


#3

Thank you for the welcome.

The banding shows up in 8 and 16 bit PNG as well as OpenEXR format. It is also visible when rendered in the appleseed studio window as well. I believe the forum may have resized and converted it to JPEG when I uploaded it. It was originally a PNG. I can share the blend, appleseed, and PNG files if it would help.

I did find a workaround by exporting it as a 16 bit PNG then converting it to an 8 bit PNG in Photoshop. It looks like Photoshop applies some dithering with the conversion. However, this adds extra steps.

Adding a small amount of noise does reduce the banding, however increases the total amount of noise in the image.

May I suggest a dithering feature please?

Thank you.


#4

Thank you for your detailed investigation of this issue.
I wanted to be sure (and remind other forum readers) about the effects saving render images in JPEG may have and to exclude it as a potential cause.

Sure, feature suggestions and improvements are generally welcome.
The status of open issues (bugs, features) in blenderseed can be seen at: https://github.com/appleseedhq/blenderseed/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
You can open new issues there as well on GitHub with the advantage that you will get notified about any change in status.


#5

Hi @pulsewave,

I think that adding a dithering option would make sense indeed.

I created a ticket to track this request: https://github.com/appleseedhq/appleseed/issues/2235

Thanks!


#6

Excellent. Thank you.


#7

We have implemented a fix for this, unfortunately it didn’t make it into the upcoming release (2.0.0-beta) but it will be available in the one after that (2.1.0-beta), and we will be happy to provide preview builds before its release.