After rendering our image, we either edit it further during the post-production process
or open it in various image viewers to display it. Minor differences in contrast and colors may be observed when we compare an image in the VFB to other external viewers.
This article clarifies why this is happening and how to prevent such differences.
Color gradients/banding differences caused by compression
Color gradients/banding is caused by limited color depth, which can result in color gradients appearing as bands of solid colors rather than a smooth transition.
Below is a comparison between a render saved in an EXR file format (32-bit, full-color information) and a JPEG, a compressed file format using only 8 bits of color depth. In the example, the .jpg image is saved with the minimum file size to deliberately exaggerate the effect of compression for the sake of demonstration.
Generally, to avoid color banding, it's essential to use high-quality images and ensure that the display device can show a wide range of colors. As you can see in the example above, if we use EXR or VRIMG file formats, there are no differences between VFB and Photoshop.
Another way to fix this issue is to introduce noise to the image, called Dithering. Use Dithering to mask the banding and make the color transition appear more natural.
The usage of color profiles or color spaces can also reduce color banding.
If the solutions/suggestions above don't help, you can use post-processing techniques such as blur or noise reduction to smooth out the banding.
Differences in contrast (display correction)
Industry-established standards for saving images like sRGB, Gamma 2.2, ACEScg, etc., provide a good balance between compatibility and image quality. The industry has adopted the usage of gamma compensation curves (display correction), which help compensate for the nonlinear way our eyes perceive light. The gamma compensation curves provide the transition between the raw image data during rendering and what we see on the monitor, allowing the images to be displayed with accurate color and good contrast on various screen devices.
There are, however, different compensation curves and the difference between them may become visible in certain situations.
For instance, an image saved with Gamma 2.2 color correction looks slightly brighter compared to the one shown in sRGB. So if we set a display compensation in sRGB and save our image with Gamma 2.2, there will be a difference between the two. This difference is shown in this example. Notice how there is a slight difference in contrast, mainly in the darker areas of the image below.
Note: keep in mind that saving 8-bit images from 3ds Max render output applies a gamma 2.2
correction curve to the output which might present slight differences in such files when
viewed in other software. To work around this limitation save the images in EXR or VRIMG,
then export them to 8-bit formats in another software.
Other potential sources of differences
So far, we reviewed the differences caused by necessary corrections needed for standardization or caused by limitations of the image formats and display device technology.
In addition to the necessary corrections, there are those of our preferences. For example, sometimes, we need a specific color profile for printing or editing. For instance, if we have a custom color profile setup in Adobe Photoshop, this can lead to differences in colors once we open the render, as you can see below.
To prevent such differences, make sure you use the same color correction in both software.
Conclusion
Discrepancies when viewing a render in viewers other than V-Ray VFB are caused by limitations and specific features of the file formats that the render is saved in, by display device technology, and can also be user induced.
We have to be careful and have that in mind to avoid accidental mismatches leading to differences in how renders look in VFB compared to other viewers.