This tutorial provides information on how to configure Color Management to work with the OpenColorIO implementation of the Academy Color Encoding System (ACES), as well as a summary of what ACES is. The article is divided into two parts, theoretical and practical. The theoretical part will help you understand some of the basics of ACES, and how it works, before you get down to the practical part, and consider some of the nuances in setting up Color Management.

What is ACES and Why is it Recommended?

The Academy Color Encoding System (ACES) - is a free, expandable, device-independent color management and image sharing system developed under the auspices of the Academy of Motion Picture Arts and Sciences. It is also a set of technical specifications for working with color, coding, and transformation. This system allows you to store all the data of digital images in the same mathematical space, which allows a more consistent workflow during the transfer of working material between different departments. It is also important that ACES allows you to create archival materials with a high dynamic range and wide color gamut, even taking into account possible future devices.


Some of the ACES features include:

  • Wide range of color and light, exposure.
  • Predictable image display on a wide range of display devices.
  • Preserving the full range of highlights, shadows, and colors.
  • Simplifying the matching of images from different cameras.
  • More accurate color display with no incorrect color values.
  • Work in Linear color space.
  • No over highlight and clamp, on bright areas of the image.
  • And more...

ACES Workflow

ACES consists of several components:

  • Input Device Transform (IDT) - Color conversion from input material. More properly called an Input Transform.
  • Reference Rendering Transform (RRT) - Color transformation from scene-referred to display-referred space, using an S-shaped tone curve, image preparation for output.
  • Output Device Transform (ODT) - Transforms to an output device, a transformation such as Rec. 709, DCI-P3, Rec.2020.

In practice, the RRT and ODT are combined and called an Output Transform.

ACES Output Transform Choices

One of the benefits of the ACES system is that it provides Output Transforms for a wide assortment of displays and projectors. You'll want to choose the appropriate Output Transform for your situation based on the following factors:

  • Your device (monitor or projector) and how it is calibrated. This could range from a simple sRGB monitor to an HDR monitor calibrated to Rec.2100-PQ, to a digital projector calibrated to DCI-P3. Note that the ACES system documents the viewing environment to be used for each type of device. For monitors such as sRGB or Rec.709, this is a dim environment (rather than a dark environment).
  • Your creative white point. The native white point of ACES is D60 and most cinema-oriented projects use this white point. However ACES also provides transforms that adapt to D65, which is commonly used for video-oriented projects. Ideally, the display device would be calibrated to match the creative white point, but this is not always possible. In those cases, the ACES system provides Output Transforms labeled "D60 sim." to simulate the D60 white point on a device calibrated to another white point (such as D65 or DCI).

The D60 native white point of the ACES system was chosen because experiments showed that humans subjectively preferred D60 over other white points such as D65. It is also closer to the white point of the motion picture system. If the creative white chosen for your project is D60 but you need to work on a device calibrated to D65, the "D60 sim." version of the Output Transform for your device will give you a more colorimetrically accurate result. Nevertheless, some people prefer using the non-"D60 sim." version since having the image displayed at D60 but the surrounding user interface displayed at D65 can make color judgments more difficult.

ACES Color Spaces

Gamut comparison (image courtesy of Haarm-Pieter Duiker and Thomas Mansencal)


ACES contains different color spaces, we will look at the main ones:

  • ACES 2065- 1 - This is a wide-range Linear, color space, with a larger coverage than the human eye, so it is used for archival copies and transfer of material between departments.
  • ACEScc and ACEScct - Logarithmic color spaces intended for color correction.
  • ACEScg - This is a Linear space for working with CG/VFX. This is the space you need to use as the main color space for working with color set-up and light in your rendered images. More information is available here.

The main color spaces for conversion will be:

  • Utility-Linear - Rec.709 or sRGB - choose this for Linear images that use the Rec.709 or sRGB primaries/gamut (which are the same).
  • Utility-RAW - for images that do not require conversion (scalar masks, Displacement, Roughness).
  • Utility-sRGB - Texture - recommended color space for sRGB image textures 8-16 bit (JPEG, PNG).
  • ACEScg - Color space for images that are already converted to ACEScg.

When converting images to Utility-sRGB-Textures, they will become darker than the original. This is normal and gives you the opportunity to work with higher light values without losing contrast.

Remember, if you create a project with ACEScg as the rendering space, you will need to set the Color Space so that all images get correctly converted to ACEScg. Images in other color spaces will look wrong without conversion.

Workflow

Download

Set OCIO Config Path

This can be done in two ways:

  • Set the OCIO environment variable to the path of the config.ocio file. This can vary according to your ОS. For example on Windows: 

set OCIO=C:\OCIO\aces_1.0.3\config.ocio

  • Or you can set the path to the config.ocio file in the render settings for working with projects. Open the Arnold Render Settings window and go to Main > Color Manager. Select color_manager_ocio and set the path to config.ocio in the Config field.

Set Transform Preferences

  • Set the Render Color Space to ACES - ACEScg.
  • Set the sRGB Color Space (view transform) based on the discussion above in section. For example: Utility - sRGB - Texture.
  • Set the Output Color Space if you want to see a custom ACES output color space (e.g. Output - sRGB) in the Picture Viewer instead of the default Cinema 4D sRGB space.

Custom color spaces are not supported natively by Cinema 4D, therefore there's a limitation.

With the built-in Cinema 4D color space you can render to the Picture Viewer and then you can select to save to an 8-bit sRGB or 32-bit linear image. However when a custom output color space is used, the process is different and you must set the Output Color Space before rendering, depending on your preferred output:

  • If you want to save to an 8-bit image (e.g. JPEG, PNG, etc.), the Output Color Space has to be set to the custom color space (e.g. Output - sRGB). If you render with Output Color Space set to <disabled>, then the saved image will be incorrect, because Cinema 4D applies the native sRGB space instead of the custom color space.
  • If you want to save to a 32-bit linear image (e.g. EXR, etc.), the Output Color Space has to be set to <disabled>. If you render with Output Color Space set to your custom color space, then the saved image will be incorrect, because Cinema 4D converts to linear from the native sRGB space instead of the custom color space.

More information about Color Management can be found here.

IPR Window

Set the Color Space of your output device on the toolbar, where the default 'auto' means the sRGB Color Space (narrow) from the Render Settings. The color space list is not visible by default, go to View > Toolbar > Show color space list to enable it.

8-bit non-linear output with custom color space transformation is not supported by Cinema 4D's native Save (e.g. Render To Picture Viewer or Team Render to Picture Viewer). The supported workflow is to save to 16 or 32-bit float linear output (e.g. EXR) and apply ODT in post, or use the Arnold drivers.


Thanks to Doug Walker and Slava Sych for their assistance with this tutorial.

  • No labels