# What exactly does the "Non-color data" option for image/environment textures do?

Image and environment texture nodes have an option to use Non-color data:

Could someone explain what this setting does and when it should be used?

I have seen it used with HDR environment lighting. Is there a reason for this?

This option stops blender from applying color-spaces to the image, this is useful when you want to use the numeric value of an images pixel rather then the perceived color value.

By default Blender converts an 8bit-per-channel image (As you would get with JPG, TGA, PNG, BMP etc.) from sRGB-colorspace to linear-colorspace (also known as rec709), before using it for compositing - where all color is assumed to be in linear-colorspace.

Examples where you don't want this include normal-maps, z-depth-buffer and displacement-maps - Where 0.5 should displace half the distance then 1.0.

Color spaces are fairly involved, so more could be written about the topic - but simple rule of thumb is if you are not viewing the image data as a RGB-Color, then you should set Non-Color Data.

Note that OpenEXR is an exception and color is assumed to already be stored in linear/rec709 colorspace, to display these images Blender converts them into sRGB (unless you choose a different colorspace).

• I know this is an old post, but it was the first thing that popped up on google when searching for the non-Color Data button... rec709 is not the same as linear if I am not completely mistaken. Also the terminology for that button is a bit confusing....should be sRGB and linear Jul 24 '15 at 14:54

I needed a way to it procedurally so I tried a few things. As @knekke stated in the comments, it should be sRGB and Linear for clarity sake... Anyway if you need to convert a Color Texture to "Non-Color Data" you can simply add a gamma node set to 0.45