Non-Color texture data in Cycles render

Software:
Blender 2.78

When loading texture files into a Cycles Image Texture node, it’s a good idea to take a moment to set the Color Space parameter correctly.
This parameter sets how the color data is intended to be used in the shader, that is, if it will be used as ‘Color’ like a Diffuse texture for example, or as ‘Non-Color Data’ like a Normal map texture example.

NRM_Wrong

NRM_Correct

The reason behind this is that texture data encoded in sRGB color space (JPG, PNG,..) intended to be used as color should be ‘linearized’, that means the gamma correction sRGB files are automatically encoded with should be removed, so the the color data will represent linear color values suitable for the processing of shaders and compositing the final rendered image*,
While texture data intended to be used as data like height or direction or percentage, shouldn’t be linearized, assuming that the colors were saved without adding a gamma corrections to them.

A common example of that is when using a normal map stored in PNG format,
When the Color Space parameter is set to ‘Color’ the resulting bump normal might look wrong, and also display hard edges along UV coordinates seams.
Setting the Color Space to ‘Non-Color Data’ will solve the problem and interpret the bump normals correctly.

> usage of a texture as input for a non-color parameter like displacement will automatically use it as linear color.

> 32 bit float formats like exr are automatically interpreted as linear color by the renderer (the viewport material display will still show a differance so it’s better to set it to ‘Non-Color Data’ anyway).

> It should also be noted that Blender has two parameters controlling the interpretation of an image file one in the Image Texture Node that controls the color usage, one in the Node properties that controls how the file format is interpreted,
And also general color management settings that control the display of colors and saving of image files.

> It should also by noted that I’m still baffled by Blender / Cycles color management.. šŸ™‚

* Linear color is also suitable for post rendering / post production compositing for image development and VFX.

Advertisements

One thought on “Non-Color texture data in Cycles render

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s