Contents
Using your own OCIO config
OCIO Roles
RenderMan relies on a few OpenColorIO roles that need to be defined in your config.ocio file.
- rendering: MANDATORY
- This is the space in which all computations are done by the renderer.
- data: STANDARD
- An input that doesn't need to be converted because it provides numerical data (normal map, bump map, roughness map, etc).
- srgb_linear: MANDATORY
- A linear sRGB/Rec.709 image, like an HDRI environment map.
- srgb_texture:
- A non-linear sRGB image, like a JPEG, PNG, etc.
- This role has been added to our basic linear configuration and to the Filmic-Blender configuration.
- In ACES-1.2, this is already an alias to Utility - sRGB - Texture.
- A non-linear sRGB image, like a JPEG, PNG, etc.
In practice, these 4 roles will be what most people need to effectively use colour-management. Still it is possible to add more role through the JSON configuration file.
JSON Configuration file
Many configurations contains a large number of color spaces, for special cases that are not related to 3D rendering. The only things that matter to 3D artists boil down to a handful of controls.
In order to provide a central configuration point, RenderMan requires a JSON configuration file to provide:
- A list of Roles/ColorSpaces available in UI controls.
- A list of aliases (shortened forms) that will be inserted in texture names to disambiguate them.
- A list of help strings that can be displayed in the UI controls.
- A set of rules for the Texture Manager to assign initial txmake settings.
File name
The JSON file's name is based on the directory containing the config.ocio
file:
$RMANTREE/lib/ocio/basic/config.ocio → rman_color_config_basic.json $RMANTREE/lib/ocio/ACES-1.2/config.ocio → rman_color_config_ACES-1.2.json
File location
At startup, the files in $RMANTREE/etc
will always be read.
If the $RMAN_COLOR_CONFIG_DIR
environment variable is defined, all files matching the rman_color_config_*.json
pattern in that directory will be loaded. This mechanism can be used to override stock configurations or add support for a custom OpenColorIO configuration.