A color manager is a connection between Arnold and an external color management library like OpenColorIO or synColor. Color managers hold information about the availability of different color spaces and also transform RGB colors to and from the rendering color space.

Built-in Color Manager

Arnold has a built-in color manager. It implements the open-source OpenColorIO (OCIO) color management system and uses an OCIO v2 config shipped with Arnold. The color manager is configured to leverage the industry standard ACES color encoding system, setting the rendering color space to ACEScg. If no color manager is linked to in options.color_manager, the built-in one will take over. The default OCIO color manager points at the default OCIO config.

The name of the default OCIO color manager node is called ai_default_color_manager_ocio.

OCIO Color Manager

Through the 'color_manager_ocio' node Arnold can access color spaces defined in an OCIO config file.

Node Parameters

config

A path to the OCIO config file to use, if this is empty OCIO will try to load the config file from the 'OCIO' environment variable.

color_space_narrow

If it exists in the OCIO config, this should be set to the name of the 'sRGB Gamma' color space. This is used internally for input and output color spaces in 'auto' mode. If set by the user, this color space is also used as a reference to detect the rendering color space gamut and white point.

color_space_linear

This is the default linear color space that Arnold will use as its rendering color space. Arnold's default color space is 'sRGB linear, ' but this can correspond to any linear color space if needed. If chromaticities for this linear color space can be guessed or are user-specified certain spectral effects will take them into account, but no other adaptations for albedos, transparencies, etc. are applied.

linear_chromaticities

The specific RGB and white point chromaticities of the rendering color space can be specified manually here. Arnold can also try to guess if the reference 'sRGB gamma' color space is set in 'color_space_narrow'. 

View (Display) enumeration 

It's possible to enumerate all the view/display combinations available by specifying the "View (Display)" family when enumerating color spaces. This lets client programs filter color spaces when only a display transform is appropriate. For instance, in python you can get a list of available view/display combinations like this:

 

   total_spaces = AiColorManagerGetNumColorSpaces(cm)
view_displays = AiColorManagerGetNumColorSpaces(cm, "View (Display)")
for cs in range(0, view_displays) :
cn = AiColorManagerGetColorSpaceNameByIndex(cm, cs, "View (Display)")

 

Role enumeration 

It's possible to enumerate all the roles available in the current config by specifying the "Role (OCIO)" family when enumerating color spaces. This lets client programs filter color spaces when only roles are needed. In python you can get a list of available roles like this: 

   total_spaces = AiColorManagerGetNumColorSpaces(cm)
view_displays = AiColorManagerGetNumColorSpaces(cm, "Role (OCIO)")
for cs in range(0, roles) :
cn = AiColorManagerGetColorSpaceNameByIndex(cm, cs, "Role (OCIO)")

OCIO defaults

If certain roles are defined in the config, they will be used for the required color spaces, if node parameters do not override them. These roles are:

  • For linear color space (the rendering color space): rendering role, and if not present scene_linear or linear roles
  • For "narrow" bit width color space (the color space that will be used as sRGB, see above): srgb_equivalent role. If this role is not present a suitable equivalent will be chosen based on the current config's path and the available color space names.


If no chromaticities for the linear color space are supplied, a suitable default will be chosen based on the path to the current config and the name of the rendering color space. This enables the more accurate rendering of effects that generate very saturated colors (thin film, dispersion, physical sky, blackbody radiation)


All color spaces and chromaticities used by default will be reported in the render log and can be overridden as needed by setting the corresponding node parameters.



  • No labels
© 2020-2021 Autodesk. All Rights Reserved / website terms / privacy/cookies / ccpa settings