OpenColorIO Support

OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation. OCIO provides a straightforward and consistent user experience across all supporting applications while allowing for sophisticated back-end configuration options suitable for high-end production usage. OCIO is compatible with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic, supporting many popular formats.

This documentation won’t describe how OCIO works and what it works with. Please check http://opencolorio.org/ website for this.

The PresenZ merger supports OCIO in order to manage the color spaces. In a standard render, all the PresenZ renders are done in linear space, and are merged as such.

If you want to create a specific grading, one possible pipeline is :

  • Use Nuke (https://www.thefoundry.co.uk/products/nuke/) or another OCIO-compatible compositing software (ie. the openSource software Natron https://natron.fr) to create your grading from a standard, linear, 2D render of your VR scene.

  • Export your grading to a OCIO config file (please check your compositing software documentation for more information).

  • Set your OCIO variable properly. PresenZ will automatically use your config.ocio file if this environment variable is set.

    • Linux

    export OCIO="/myOCIOConfigLocation/config.ocio"
    
    • Windows

    set OCIO="c:\myOCIOConfigLocation\config.ocio"
    

The default OCIO profile location for the PresenZ Merger

Inside the PresenZ Plugin folder there is a default OCIO folder present. The is the industry standard ACES config.

../_images/mergerfile.PNG

Within the ocio folder you will find:

../_images/ocioconfig.PNG

You can open the config.ocio in any text editor and have a closer look at one of these color profiles.

Assigning a custom OCIO profile in the PresenZ Merger

In this section, we explain how to apply a different color space using OpenColorIO. If you have a custom-made OCIO config file, you can follow these steps to apply it.

  • Open a windows command prompt

  • Specify the path to the merger. example line cd C:\Program Files\PresenZ\PresenZ For ...\, this folder contains the merger.

  • Drag the presenz_merger.exe into the command prompt. You will see all the options that can be declared with the PresenZ merger. The ones we are interested in for this particular part are:
    • --OCIOconfig : The path to the config.ocio file.

    • --applyColorSpaceFrom [string] : Define the original color space of an image (default: linear).

    • --applyColorSpaceTo [string] : Apply this color space transform to an image (default: linear).

    • --displayGamut [string] : Define the display gamut of an image (default: linear).

    • --convertBackToLinear [bool] : If your final space is not linear, convert the final value back to linear (assuming sRGB as input).

  • Construct the command line by specifying the merger, the file location of the .przRender files that need to be merged, and the desired options with their respective arguments.

Note

The precedence in which PresenZ applies an OCIO config file is the following: command line path > environment variable > default PresenZ OCIO config file.

The following line is an example code.

presenz_merger.exe D:\PresenZ\colorTesting\render --output result.prz --OCIOconfig ocio_Maya2022-default\config.ocio --applyColorSpaceFrom ACEScg --applyColorSpaceTo "ACES 1.0 SDR-video" --displayGamut sRGB --convertBackToLinear 1

As you can see, once you started the command the OCIO is converting from acesCG to the view ACES 1.0 SDR-video color space, then it will be converted from sRGB to scene-linear Rec.709-sRGB for our viewer.

../_images/convertingACESSDR.PNG

From the same render result from before we can do a color correction by simply re-merging the rendered przRender files.

The result side by side:

../_images/sidebyside.png