|On this page|
Computer programs like Houdini prefer to work in a linear color space internally, which is easy to manipulate digitally. It’s often preferable for outputs, such as final images, printed film, and displays, to be in perceptual color space (gamma corrected/color corrected). Color management in Houdini involves translating between linear and perceptual color spaces at the boundary between Houdini and the outside world at appropriate times.
OpenColorIO (OCIO) is an industry-standard open-source library for managing and translating color spaces.
OCIO is more powerful and flexible than Houdini’s default gamma and lookup table (LUT) support, and is recommended for professional use.
$OCIOenvironment variable to the file path of an OpenColorIO configuration file (such as
The existence of this environment variable controls whether Houdini automatically uses OCIO in various places.
You can set the default colorspace using the
For sRGB files and sources, the source colorspace used for sRGB is defined by the Houdini environment variable
HOUDINI_OCIO_SRGB_FILE_COLORSPACE. If this variable is not defined, the OpenColorIO config file is searched for a colorspace that matches srgb, either fully or partially.
You can turn various forms of OCIO support in the Edit ▸ Color Settings window.
OCIO_ACTIVE_DISPLAYS environment variables are not Houdini environment variables. They cannot be set through the Aliases and Variables dialog, nor can they be set in the
houdini.env file. They must be set in the shell or desktop environment before launching Houdini.
Texture images are assumed to be linear in Houdini and Mantra. If needed, you can manually convert textures using the OCIO Color Transform VOP.
If OCIO is configured and you set the File COP to linearize colors, it will use the OCIO file naming convention to deduce the color space of the input image and linearize it correctly. (This will also automatically switch the output to 16 bit to prevent banding.)
Renders from Mantra are in linear space.
Flipbooks from the viewport are either sRGB or linear, depending on the “Render Beauty Pass Only” option (linear when On, sRGB when off).
The image in the Render View can be color corrected using OCIO.
The Correction toolbar is stowed by default at the bottom of the view. Click the stowbar just below the view area to show it. When OpenColorIO is active, Houdini replaces default gamma and LUT controls on the Correction toolbar with OCIO controls.
The output of the Render Region tool can be color corrected using OCIO. (You can turn this on or off in the Edit ▸ Color Settings window.)
Color correcting the display
When OpenColorIO is active, the Scene View, Render View, and MPlay can use OCIO to color-correct display.
When OCIO is active, Houdini replaces default gamma and LUT controls on the Correction toolbar with OCIO controls.
In the Scene View, open the Viewport menu (the menu to the left of the Camera menu, in the top left corner of the viewport) and turn on Correction Toolbar to show the color correction toolbar at the bottom of the viewer.
In the Render View, the Correction toolbar is stowed by default at the bottom of the view. Click the stowbar just below the view area to show it.
When OpenColorIO is active (
$OCIOpoints to a configuration file), gamma and LUT controls in the interface are replaced by Display and View menus. These define the output colorspace for the display. The colorspace within Houdini is linear, and the
scene_linearrole specifies the OpenColorIO linear colorspace.
For example, when OCIO is active, the scene viewer’s Color Correction toolbar (Viewport menu ▸ Correction Toolbar) has OCIO controls.
MPlay can load both linear and non-linear files, such as OpenEXR (linear) and JPEG (sRGB).
Color space guessing
When you reference a file to use as a background image (such as in the 3D view display options, or a background plate in a render node), you can embed the image’s colorspace in the filename. For example
If ICIO can’t find a colorspace in the filename, it guesses based on the image format. It assumes that JPEG, PNG, Targa, and most other 8-bit formats use the sRGB colorspace. It assumes that EXR, RAT, and HDR formats are linear (these use the ACES-Cg colorspace because that is the space assigned to the
scene-linear role in the ACES-1.0.3 profile).
You can turn use of OCIO for various features on or off in the Edit ▸ Color Settings window.
Picking color from an image in the color editor can be linearized using OCIO (for images using the OCIO naming convention).
Node preview thumbnails in compositing network can be color corrected using OCIO.
There are several VEX functions for doing manual color conversions, texture lookups, and introspection using the OCIO library.