Color gradients don't render smooth

Could anyone please explain what is going on with the gradients in pictures?

The image below shows a simple test scene.

A plane (grey colored vraymtl assigned) and one vray light shining on the plane from the bottom. You can see the gradient is not smooth but has steps in it. There is also an enlargement of the area because I had a suspicion it could be my monitor not showing the colors correctly but as you can see in the enlargement the neighboring pixels of the problematic parts have exactly one 8bit color value difference. So it seems like the render output is only 8bit?

The image below was rendered with DMC sampler of 32 max. subdivs and color threshold of 0.0001 so the sampler quality is not a problem. I also tried to change many different render settings but it didn’t help.

We notice these gradient problems in many scenes. Whenever there is a sky or in studio with darker lights.

Does anyone have an idea what could be wrong? Thanks!

You need to save out to a 16-bit format. Either TIFF or PNG will do. The gradient will be more smooth because it has a range of 65,536 values from black to white instead of 255.

Unfortunately I already see the wrong gradient in the V-Ray frame buffer. Saving to 16bit tiff doesn’t help. I also tried to render to VRIMG instead of frame buffer but the result is also the same…

EDIT: When I right-click in the VFB I see the color numbers for both 8bit and 16bit but for some reason the colors displayed in VFB are 8bit.

Most monitors can only display 256 levels of gray (or any of the main colors red, green, blue), so no matter what precision you are rendering at, you will see this problem. You can avoid it by applying dithering to the image in a post-processing application (like ImageMagick) - of course, you must first save the image in a 16-bit format.

Best regards,
Vlado

Right I suspected that… but I imagined this monitor limitation would appear like some wrong colors in a random pattern… for example when I scroll the image in photoshop the grey colors would flicker or something.

But on the other hand it seems you are right. I made sure I saved the image as 16bit, went into photoshop and applied a Blur filter. The steps in the gradient did not clear at all…

If you want even BETTER gradiants then use 32bit format.

Cheers

Some programs apply automatic dithering for display (for example, the 3ds Max frame buffer does it and there is an option for that in the 3ds Max preferences). The V-Ray frame buffer doesn’t do this currently, apparently neither does Photoshop.

Best regards,
Vlado

Could you please tell me if I enable the dither would it lower the quality of the image?

It depends on what you intend to do with the image afterwards. If it will be directly displayed e.g. on a web page, then I guess it’s ok to add dithering.

Best regards,
Vlado

It will be printed in a catalogue and in various advertising places so it needs a super high quality image - 16 bit, colorproof and stuff like that. So I guess dithering is a no go?

I actually didn’t find a way how to dither an image on photoshop. All I found on google was related to going down with colors from 8bit to web palette or how to remove the dither from the picture.

while rendering only a DefaultVRaySky i got banding in VFB.
i thought this is not possible in the VFB…finding this it seems that i learned someting new…
on the other hand i´m quite shocked that i did not recognized that earlier.

Some monitors have also a 10 bit pipeline possible, and i can confirm NVidia drivers correctly recognise those and allow for the display path to be 10bit throughout (see attached).
I have no recent direct experience with AMD hardware and drivers, but i fully expect them to be the same in this respect.

While it’s only 1024 shades, so some banding may still be visible, it’s still four times the 8 bit quality.