Custom Color Transforms

Autodesk Color Management lets you create your own .ctf files to define custom color transforms.

Building Custom Transforms

In Smoke, Flame, and Lustre, you can use Custom mode to assemble a chain of transforms, either from the installed collection or by importing transforms in ASC CDL or third-party LUT formats. You can then export the whole chain as a single .ctf file for example, to use as a viewing transform or to save time with conversions that you perform frequently.

Because the .ctf file format can represent arbitrary lists of color processing operations, the exported transform is a lossless representation of the original processing. In other words, it is much more accurate than baking the original transforms into a single 3D LUT.

The .ctf file format is XML-based, so you can also use any XML or text editor to create or modify color transforms. You can either create a transform from scratch, or use <Reference> elements to build a chain from existing transform files. See Autodesk CTF File Format Version 1.3.

Dynamic Exposure and Contrast Controls

Some Autodesk applications, like Flame and Smoke, allow you to adjust exposure and contrast interactively for viewing if those controls have been declared as dynamic in a .ctf file. The exposure and contrast values set in the application are used for previewing, but the values set in the file are used for processing.

This means that you can create a transform that includes an ExposureContrast operator that does not affect color values (i.e., exposure of 0 and contrast of 1), but still adjust the exposure and contrast when the transform is applied to the display. This allows you to check the details in very bright or very dark areas. However when the same transform is used for processing, the output color values are unaffected.

You can take advantage of this in your own color transforms by referencing one of the exposure-contrast files in the misc/ directory. There are three versions, so that you can insert them in a scene-linear, logarithmic, or video color space. The algorithms have been adjusted so that, for example, the exposure-contrast_log transform causes the exposure and contrast sliders to behave the same in a log color space as exposure-contrast_linear behaves in a scene-linear color space.

Dynamic Look Controls

Flame and Smoke allow you to toggle a look transform on and off for previewing purposes. The Look On/Off toggle appears whenever the viewing transform includes one or more operator elements with a LOOK_SWITCH dynamic parameter. If the same operators have their bypass attribute set to "true", they will be skipped during processing. This lets you include operators that will never affect values rendered to file but that can still be toggled on and off for display.

One way to take advantage of this is to define your look transform file as the defaultLook alias. The defaultLook alias can be set in the LUT preferences, and the setting is stored in the SynColor configuration file. You can then create a transform chain that includes a reference to one of the transforms in the misc/ directory that in turn references the defaultLook alias:
  • The misc/default_look transform applies the look transform directly.
  • If you are using the ACES framework and ACESproxy was used on set, you can reference the misc/default_look-ACESproxy transform instead. This transform first converts from ACES 2065-1 to ACESproxy, then references the defaultLook transform, and finally converts back to ACES 2065-1. If your look transform is an ASC CDL operator and you use the "noClamp" option, then ACES 2065-1 values are not clamped to the ACESproxy range. Because internal processing is done at 32-bit floating point precision, there will be negligible quantization loss.

By default, these transforms will be applied when rendering the output. However, you can edit the XML to add bypass="true" to the reference element (see Common Operator Attributes) so that the look can be toggled for display only but not applied when rendering the output.

This gives you complete control over the color space in which the look transform is applied, and allows you to match an arbitrary on-set workflow. For example, suppose that you are provided with a 3D LUT for converting from log to video space and a set of ASC CDLs from an on-set workflow, and that you are told the CDLs should be applied before rather than after the 3D LUT. In your chain of transforms, include the default look first, followed by the 3D LUT. Apply this file as your viewer transform, and set the appropriate ASC CDL transform for the shot as your defaultLook alias. Now you are able to work on the original log media with your viewer configured to emulate what was seen on set. Furthermore, you can take advantage of the dynamic Look On/Off switch in the viewer to easily toggle the look on and off.