If you are keen about building a custom look library, my best advice is as follows. Bear in mind that all looks / 3D LUTs are based on a known input and known output. For the sake of discussion, I’ll assume you are using Blender “as is” with Filmic as the display rendering transform gamut map.
- Open the compositor.
- Add a CDL colour balance node. Make sure to set to CDL and not the default Lift Gamma Gain, as the Lift Gamma Gain approach has no place in a scene referred environment and breaks things!
- Route your particular image flavour to the CDL node, and adjust the CLD Slope, Offset, and Power to meet your needs.
- Record the values.
- Add the values as a CDL Look entry in the OpenColorIO configuration.
The format of the Look will appear as this:
name: Test Library Look
process_space: Linear
transform: !<GroupTransform>
children:
- !<CDLTransform> {slope: [1.2, 1.2, 1.2], offset: [0.2, 0.2, 0.2], power: [1.2, 1.1, 1]}
Make sure you backup and save your default configuration just in case you make a mistake. No harm done, just revert and try again. Also note that YAML is ridiculously fussy with whitespace, so make sure your text editor isn’t stuffing things in that cause problems!
It should be that simple.
The Slope, Offset, and Power are worth examining a bit here. That is, when operating on radiometric-like linear values, the following applies when thinking about the input along x versus the output along y on a generic plot. I’d encourage everyone to drill into the following three concepts to really get a handle on grading your work.
Slope
Slope is multiplication. That is, it is exposure when applied to radiometric-like linear data. If you were to want to decrease exposure by two and a third stops, the slope value would be 2^-2.33
.
Power
When applied to radiometric-like linear data, power is a collapsing of values toward and away from 1.0, which is a rather arbitrary math value. This loosely is contrast, with the caveats outlined below.
Offset
This is a simple addition or subtraction. The net sum is that on radiometric-like data it will have a tremendous impact on the lower values, while on the higher values it will essentially become non-existent. It is the least useful of the controls for generalized grading, unless the desire is to lift up darker radiometric-like values uniformly. Be extremely careful using this when starting out, as it will typically overcomplicate typical grading needs.
Nuances
It should be noted that by default, due to the way that math works, that a power exponent function will collapse values toward or push values away from 1.0. In a radiometric-like linear value range of a render, 1.0 means absolutely nothing, and is simply yet-another emission level.
When grading, it is common to want to adjust contrast about a pivot point. That is, it might be desirable to have a specific value remain at the precise value, and collapse values toward or away from it. This is known as a pivoted contrast, and is more or less easy to accomplish using three CDL nodes for clarity.
- A CDL node that adjust the exposure such that the pivot point ends up at the math magic spot of 1.0.
- A CDL node that adjusts the contrast using the Power value.
- A CDL node that returns the exposure to where it started, putting the pivot back to where it began life.
As an example, if we were to attempt to adjust contrast around middle grey of 0.18, the following would apply:
- Set a CDL node with a Slope value of 1.0 / 0.18
- Append a CDL node with the Power being the contrast desired.
- Append a CDL node with the Slope set to 0.18 to scale the values back to the proper positions.
This now is a real-time pivoted contrast, which can have a Value node routed to the contrast value and pivot points as needed.
Finally, you could convert the three into a look for your look library, by integrating the values you arrive at using a Look as outlined above.
Hope this helps.