Square Enix © Goodbye Kansas

Table of Contents

This page provides information about the proper ACEScg color space workflow with V-Ray for Maya.

 

Overview


ACES is the Academy Color Encoding System, developed by the Academy of Motion Picture Arts and Sciences. ACEScg is the version of the ACES encoding system for computer graphics, widely adopted in the industry. It has become the industry standard, because compared to sRGB, ACEScg works with a lot more color information, illustrated in this gamut graph.

Starting with version 5, V-Ray comes with an implementation of the ACEScg out of the box and in this tutorial we explain the rendering setup in V-Ray for Maya in this color space. There are two ways of setting up ACEScg for rendering and display: manually and using an OCIO configuration.

V-Ray supports only ACEScg as the primary color space of choice in CGI and not other ACES color spaces such as ACEScc or ACEScct.

See more information at the ACEScg courseware page.

The V-Ray ACEScg workflow does not require an active OCIO configuration. The relevant ACEScg transformations are part of the V-Ray core. However, if you do decide to use an OCIO configuration, the OCIO environment variable needs to be set and pointed to a suitable OCIO configuration. See the OCIO configuration section below for more information.

 

Manual Setup


There are two ways to set V-Ray to render in ACEScg.

The recommended approach is to leave V-Ray’s color mapping to its default From Maya Preferences. This lets V-Ray follow Maya’s Color Management and the rules specified there, where by default, ACEScg is the rendering color space in Maya. V-Ray VFB is synced with Maya's Color Management display settings.

Then, you can use the Color Management rules to automatically apply the input color space for different types of textures.

Textures for bump mapping, normal mapping, displacement, etc. are usually encoded in linear sRGB and they need to use the Raw color space in Maya. If you assign sRGB or any other color space for them in Maya's Color Management rules (or manually override the color space), they produce wrong results.

It is recommended to assign a Raw color space for such textures with Color Management rules or manually for each texture.

V-Ray VFB syncs its view and display settings with Maya's Color Management options. This is controlled by the Sync VFB and Maya Color Management option (Render Settings > Common tab > Render View rollout), which is enabled by default.

 

 

 


 

If you have some files that are exceptions to the rule-based system, you can override the color space of a specific file node from its attributes.

For example, in the File texture, go to File Attributes > Color Space and select the color space, in which the texture is encoded.

 

 


 

Alternatively, you can instruct V-Ray to render directly in ACEScg.

Go to Render Settings > V-Ray > Color Mapping > Rendering color space and select ACEScg.

This is not required when the default settings are used.

Manually choosing the rendering color space in V-Ray can be used when Maya's Color Management is disabled.

 

 


 

In all cases, in addition to bitmaps, V-Ray converts the light’s temperature settings, the V-Ray Sun & Sky, the VRayTemperature texture and the VRayMtl dispersion to the rendering color space.

Procedural colors are always treated as specified in the rendering color space by Maya, but displayed in your monitor’s color space in the interface.

This is another point in favor of using Maya’s Color Management system.

Textures for bump mapping, normal mapping, displacement, etc. are usually encoded in linear sRGB and they need to use the Raw color space in Maya. If you assign sRGB or any other color space for them in Maya's Color Management rules (or manually override the color space), they will produce wrong results.

It is recommended to assign a Raw color space for such texture with Color Management rules or manually.

 

 

 


 

The V-Ray Frame Buffer provides a filmic tonemap correction in AMPAS mode that emulates the OCIO display transformation, which can be used instead of an OCIO configuration.

 

OCIO configuration


An automated OCIO configuration can be set with the OCIO environment variable.

There are a few steps you need to follow to set this up:

  1. Download the Open Color IO configuration package from GitHub: https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/releases
  2. Set the OCIO environment variable and point it to the config.ocio file.
    For example, to set up the OCIO configuration with aces_1.3:
Windows: set OCIO=C:\OpenColorIO-Configs\cg-config-v1.0.0_aces-v1.3_ocio-v2.0ocio
 
Linux: export OCIO=/home/user/OpenColorIO-Configs/cg-config-v1.0.0_aces-v1.3_ocio-v2.0.ocio

macOS: export OCIO=/home/user/OpenColorIO-Configs/cg-config-v1.0.0_aces-v1.3_ocio-v2.0.ocio
See the Getting Started with Environment Variables page for more information.

After launching Maya, Color Management should be enabled and locked to the OCIO configuration file specified in the OCIO environment variable. If needed, you can adjust the settings for rendering color space, display and view transforms and color space rules.
 

 


 

By default, the VFB is synced to the Maya Color Management settings.


V-Ray VFB syncs its view and display settings with Maya's Color Management options. This is controlled by the Sync VFB and Maya Color Management option (Render Settings > Common tab > Render View rollout), which is enabled by default.


 

 


 

The automated OCIO configuration can be further adjusted with the following VFB OCIO environment variables:

VRAY_VFB_OCIO – Automatically switches the OCIO button of the V-Ray VFB on.

VRAY_VFB_OCIO_INPUT_COLORSPACE – Specifies default OCIO input color space.

VRAY_VFB_OCIO_VIEW_TRANSFORM – Specifies default OCIO view transform.

VRAY_VFB_OCIO_DISPLAY_DEVICE – Specifies default overriding OCIO display device.

For example, set a default OCIO input color space, display device, and view transform:

 

set OCIO=C:\OpenColorIO-Configs\cg-config-v1.0.0_aces-v1.3_ocio-v2.0ocio
set VRAY_VFB_OCIO=1
set VRAY_VFB_OCIO_INPUT_COLORSPACE=ACEScg
set VRAY_VFB_OCIO_DISPLAY_DEVICE=ACES
set VRAY_VFB_OCIO_VIEW_TRANSFORM=ACES 1.0 - SDR Video
export OCIO=/home/user/OpenColorIO-Configs/cg-config-v1.0.0_aces-v1.3_ocio-v2.0.ocio
export VRAY_VFB_OCIO=1
export VRAY_VFB_OCIO_INPUT_COLORSPACE=ACEScg
export VRAY_VFB_OCIO_DISPLAY_DEVICE=ACES
export VRAY_VFB_OCIO_VIEW_TRANSFORM=ACES 1.0 - SDR Video
export OCIO=/home/user/OpenColorIO-Configs/cg-config-v1.0.0_aces-v1.3_ocio-v2.0.ocio
export VRAY_VFB_OCIO=1
export VRAY_VFB_OCIO_INPUT_COLORSPACE=ACEScg
export VRAY_VFB_OCIO_DISPLAY_DEVICE=ACES
export VRAY_VFB_OCIO_VIEW_TRANSFORM=ACES 1.0 - SDR Video

This setup requires using all of the variables, including the OCIO variable pointed to an OCIO configuration file.

The values for the input color space, display device, and view transform variables need to match the settings available in the configuration file. This example may not work with OCIO configurations other than the one used in the example. For example, VRAY_VFB_OCIO_VIEW_TRANSFORM needs to match a "ACES 1.0 - SDR Video" view transform from the configuration file.

When rendering with V-Ray Standalone or using distributed rendering, the OCIO environment variables must be set accordingly on all machines used for rendering. 

The OCIO configuration files used in V-Ray VFB aren't automatically collected with the rest of the scene assets when sending a job for rendering to another machine. Use the OCIO configuration files from a shared location or copy the files manually to your render nodes to avoid mismatch in render output. 

 

See the Getting Started with Environment Variables page for more information.