Houdini Color Management Discussion

Hey everyone,
Changes in Settings for Houdini color management can be discussed there!

My proposal

Houdini Workfile Color Settings

  • Display: default display, it accepts Colon-separated list of displays, e.g ACES:P3, Read more Active Displays
  • View: default view, it accepts Colon-separated list of view names, e.g sRGB:DCDM Read more Active Views
  • Review Colorspace : Review output transform which exposes OCIO Colorspace parameter in opngl nodes, Read more Houdini OpenGL

you might also want to check: OpenColorIO support

Unnecessary

Houdini Color Management Research

This is a research about color management in Houdini. I’ve no idea why I included it in this post.

Render Space

Houdini uses scene_linear role as render space.
I don’t know if it’s possible to override that.

File rules

I’m not sure about file rules for textures input transforms because Houdini seems to have some fixed built in file rules.

Houdini Color Management Research

This is a summary of what Houdini supports in regards to color management…

OCIO Config Path

Already implemented.

Achieved by setting OCIO before launching Houdini
https://github.com/ynput/OpenPype/blob/4f1638b3a7b8a3b2152010552073f28b62bd268b/openpype/hooks/pre_ocio_hook.py#L7-L8

Render space

Houdini uses scene_linear role as render space
I don’t know if that can be overridden without modify ocio config file
https://github.com/colour-science/OpenColorIO-Configs/blob/0857366ee279bd0e091c0b4f593fc17bc9687cb1/aces_1.2/config.ocio#L20-L20

Display

Display list is the active_displays list in config file
default display hou.Color.ocio_defaultDisplay() is the first item in the active_displays list

https://github.com/colour-science/OpenColorIO-Configs/blob/0857366ee279bd0e091c0b4f593fc17bc9687cb1/aces_1.2/config.ocio#L52-L52

image

Setting OCIO_ACTIVE_DISPLAYS before launching Houdini will override the active_displays list
windows example:

set OCIO_ACTIVE_DISPLAYS=ACES

View

View list is the active_views list in config file
default display hou.Color.ocio_defaultView() is the first item in the active_views list

https://github.com/colour-science/OpenColorIO-Configs/blob/0857366ee279bd0e091c0b4f593fc17bc9687cb1/aces_1.2/config.ocio#L53-L53

image

Setting OCIO_ACTIVE_VIEWS before launching Houdini will override the active_views list
windows example:

set OCIO_ACTIVE_VIEWS=DCDM:sRGB

image

Input Transform Guessing

for Background images and Textures.
Houdini is checking file names for token and sets color correction accordingly,
but without them Houdini will assume that
8-bit ➝ sRGB
more than 8-bit ➝ scene_linear

Unlike Background images, Textures have few explicit color space options

ROP Output Transform

Different ROP nodes in Houdini with their color settings

  • OpenGL :support applying output transform, (Render Space ➝ scene_linear)
  • Arnold : it has an explicit parameter
  • Karma : it has an explicit parameter
  • Mantra : I didn’t find any options, I guess it uses scene_linear by default
  • Red Shift ROP : it has an explicit parameter
  • USD Render : I don’t know
  • V-Ray : it has an explicit parameter
  • RenderMan : I didn’t find any options

I don’t know if these parameters affect Render Space or they are just post render transformations.

For reference, Here’s the PR that adds this enhancement.

2 Likes