Linear Workflow

Gamma correction controls are helpful for users to make sure they are working in radiometrically linear space (also called 'linear workflow'). Linear workflow ensures that all of the elements interacting in a scene (light colors, textures and shader colors) correspond linearly with actual amounts of light so that the renderer does proper light computations in a physically accurate way, since light works linearly in the physical world (if you double the amount of photons, the color values are also doubled).

Non linear workflow: Incorrect Linear workflow: Correct

While all the calculations need to happen in a linear color space, all viewing devices (input and output) will need to be shown in a gamma corrected space (like sRGB gamma).

The main problem when rendering without a proper linear workflow is that lights look overblown and colors look unnatural. The artist then tries to adjust the scene lighting, including falloff, colors, etc. However, this is only possible to a certain extent.

The images below show common mistakes artists make when rendering out images with differing gamma outputs:

Too light. Textures are not color managed and output is sRGB (incorrect). Too dark. Textures are not color managed and color output is linear (incorrect). Inputs are color managed and the OUTPUT display is sRGB - Linear workflow (correct).

It is recommended that you output rendered images as EXR (linear floating point format) to maintain a linear workflow.

The rendering pipeline can be broken down into the following steps:

How to make inputs linearly

Images rendered to disk (using Team Render for example) need to be viewed with a LUT capable image viewer. When viewed through a standard non LUT capable viewer, the rendered images will look too dark in comparison.

Color Profiles

C4DtoA supports the following color correction settings:

Edit > Project Settings...

Edit > Preferences... > View > Display Color Profile

Render Settings > Save

Textures

If the Color Space of an image shader is set to auto, then Arnold linearizes 8 and 16-bit images automatically. Arnold scans the contents of a texture (it does not rely on the extension), and anything that is not float is considered to have a gamma baked even if the image has a different color space embedded. The list of color spaces depends on the selected Color Manager.

Tx texture format

You can convert your textures to linear space with the Tx Manager dialog. This way you can ensure that all of your textures are linear before rendering. You can choose between linear, sRGB and Rec709. For example, the following command:

 maketx --colorconvert sRGB linear C:\Program Files\MAXON\CINEMA 4D R17\plugins\C4DtoA\arnold\bin\crayons.jpg 

Crayons.jpg image color space converted using the make tx tool

Drivers

Arnold drivers are responsible for managing outputs, for example, to write image files to disc (e.g. jpeg, png, tiff, etc.). These drivers have a Color Space option to define the color space of the output file. Auto means linear space.