Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
width60%

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

Column
width5%

 


Column
width35%
HTML
<iframe width="560" height="314" src="https://www.youtube.com/embed/-wnbaXSIRE0?list=PLm2Irfq-UvZ0gKWa5xuceeionOLx2TYW5" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

...


Overview

...

Section
Column
width62%

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 5 comes with an implementation of the ACEScg out of the box and in this tutorial we explain the rendering setup in V-Ray for Houdini in this color space. There are two ways of setting up ACEScg for rendering and display: manually and by 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.

 

UI Text Box
typenote

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.

 


 
Column
width5%


Column
width33%

...

Manual Setup

...

Section
Column
width60%

You need to specify ACEScg as the rendering color space in Houdini.

Go to Renderer node > Renderer > Color Mapping and set the RGB Color Space to ACEScg. Alternatively, use the VFH_RGB_COLOR_SPACE environment variable. Set its value to 1 to force the export to ACEScg.

UI Text Box
typetip

Textures that provide 'color' information (i.e. textures that are not grayscale) should be converted from sRGB Texture to ACES, while grayscale textures should be kept Linear.

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

It is recommended to assign a Raw color space for such textures.

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

Column
width5%

 


Column
width35%

...

 


...


Section
Column
width60%

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 parameters.

For example, in the Image File texture, go to Bitmap tab > RGB Primaries and select the color space, in which the texture is encoded.

Column
width5%

 


Column
width35%

...

 


...


Section
Column
width60%

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

 
Column
width5%


Column
width35%

 

OCIO configuration

...

Section
Column
width60%
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/colour-scienceAcademySoftwareFoundation/OpenColorIO-Config-ConfigsACES/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.23:

    Code Block
    languagetext
    themeConfluence
    Windows: set OCIO=C:\OpenColorIO-Configs\cg-config-v1.0.0_aces_1.2\config.ocio-v1.3_ocio-v2.0ocio
     
    Linux: export OCIO=/home/user/OpenColorIO-Configs/cg-config-v1.0.0_aces_1.2/config-v1.3_ocio-v2.0.ocio
    
    macOS: export OCIO=/home/user/OpenColorIO-Configs/cg-config-v1.0.0_aces_1.2/config-v1.3_ocio-v2.0.ocio
    UI Text Box
    typenote

    The existence of this environment variable controls whether Houdini automatically uses OCIO in various places.


  3. You can then use the OCIO Input Color Space Rules or define custom rules within Houdini.

For more information, see the Getting Started with Environment Variables page.

 
Column
width5%


Column
width35%

Image RemovedImage Added

 

 


...


Section
Column
width60%

4. When the VFB Display Correction is switched to OCIO, V-Ray reads the OCIO variable and loads the configuration there as well. Choose ACES - ACEScg for your Input Colorspace and sRGB for your View Transform. Leave the Display Device at ACES.

 
Column
width5%


Column
width35%

...

V-Ray Standalone OCIO Configuration


...


Section
Column
width60%

When rendering with V-Ray Standalone, an The automated OCIO configuration can be set further adjusted with the following OCIO environment variables:

VRAY_VFB_OCIO_INPUT_COLORSPACE COLORSPACE – Specifies default OCIO input color space.

VRAY_VFB_OCIO_DISPLAY_DEVICE – DEVICE Specifies default OCIO display device.

VRAY_VFB_OCIO_VIEW_TRANSFORM – Specifies default OCIO view transform.

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


Tabs Container
directionhorizontal
Tabs Page
titleWindows OS
Code Block
languagebash
set OCIO=C:\OpenColorIO-Configs\cg-config-v1.0.0_aces-v1.3_ocio-v2.0ocio
Windows:
set VRAY_VFB_OCIO_INPUT_COLORSPACE
=
ACES -
ACEScg
Windows:
set VRAY_VFB_OCIO_DISPLAY_DEVICE
=
ACES
sRGB
Windows:
set VRAY_VFB_OCIO_VIEW_TRANSFORM
= sRGB   Linux:
=ACES 1.0 - SDR Video
Tabs Page
titleLinux
Code Block
languagebash
export OCIO=/home/user/OpenColorIO-Configs/cg-config-v1.0.0_aces-v1.3_ocio-v2.0.ocio
export VRAY_VFB_OCIO_INPUT_COLORSPACE
=
ACES -
ACEScg
Linux:
export VRAY_VFB_OCIO_DISPLAY_DEVICE
=
ACES
sRGB
Linux:
export VRAY_VFB_OCIO_VIEW_TRANSFORM
= sRGB   macOS:
=ACES 1.0 - SDR Video
Tabs Page
titlemacOS
Code Block
languagebash
export OCIO=/home/user/OpenColorIO-Configs/cg-config-v1.0.0_aces-v1.3_ocio-v2.0.ocio
export VRAY_VFB_OCIO_INPUT_COLORSPACE
=
ACES -
ACEScg
macOS:
export VRAY_VFB_OCIO_DISPLAY_DEVICE
=
ACES
sRGB
macOS:
export VRAY_VFB_OCIO_VIEW_TRANSFORM
= sRGB

Note that without setting these variables, it is not possible to render in ACES color space with V-Ray Standalone.

=ACES 1.0 - SDR Video
UI Text Box
typetip

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

UI Text Box
typetip

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.

UI Text Box
typenote

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. 

For more information, see the Getting Started with Environment Variables page.

 
Column
width5%


Column
width35%

Image RemovedImage Added