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


Overview


ACES is the Academy Color Encoding System and 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 render setup in V-Ray for 3ds Max in this color space. V-Ray supports only ACEScg as the primary color space of choice in CGI.

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 Using OCIO configuration section below for more information.


 

 

Setup


From Render Setup > Settings > Color management choose ACEScg.

For more information on the Color Management rollout, follow the link.





Any 8-bit texture map should be renamed according to the color space that they are in, using “_lin_srgb”, “_srgb” or “_acescg” suffix.

If neither is present, the map is assumed to be in the renderer color space as specified in the Color management rollout (in this setup, ACEScg). If the texture maps are properly named, auto recognition can be used by enabling the Auto RGB primaries for VRayBitmap option.

The maketx tool or the oiiotool utilities included in the OpenImageIO library can be used to convert textures between different color spaces. The maketx tool is included in the V-Ray installation.





Alternatively, leave the checkbox disabled and set the RGB color space manually for each VRayBitmap texture. This can also be done if there are files that are exception to the rule-based file naming system - the settings in the VRayBitmap texture overrides the automatic algorithm.

Textures for bump mapping, normal mapping, displacement, etc. are usually encoded in linear sRGB and they need to use the Raw color space. If you assign sRGB or any other color space for them, they produce wrong results.

It is recommended to assign Raw color space for such texture.





In addition to bitmaps, V-Ray converts the light’s temperature settings, VRaySun, VRaySky, and the VRayMtl dispersion to the rendering color space.

VRayColor map has its own special controls to specify what color space the red/green/blue values are in.



Using OCIO Configuration


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

There are а 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:

set OCIO=C:\OpenColorIO-Configs\cg-config-v1.0.0_aces-v1.3_ocio-v2.0.ocio

3.When the VFB Display Correction is switched to OCIO, V-Ray reads the OCIO variable and loads the configuration there as well.

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


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

VRAY_VFB_OCIO_INPUT_COLORSPACE – Specifies default overriding OCIO input color space.

VRAY_VFB_OCIO_DISPLAY_DEVICE – Specifies default overriding OCIO display device.

VRAY_VFB_OCIO_VIEW_TRANSFORM – Specifies default overriding OCIO view transform.

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

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

set OCIO=C:\OpenColorIO-Configs\cg-config-v1.0.0_aces-v1.3_ocio-v2.0.ocio
set VRAY_VFB_OCIO=1
set VRAY_VFB_OCIO_INPUT_COLORSPACE=ACEScg
set VRAY_VFB_OCIO_DISPLAY_DEVICE=sRGB
set 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.