Skip to content

Adsk Contrib - Add LMT for ACES 2 SDR Output Transforms and RGB-to-HMJ FixedFunction - #2336

Open
doug-walker wants to merge 4 commits into
AcademySoftwareFoundation:mainfrom
autodesk-forks:walker/look-transform
Open

Adsk Contrib - Add LMT for ACES 2 SDR Output Transforms and RGB-to-HMJ FixedFunction#2336
doug-walker wants to merge 4 commits into
AcademySoftwareFoundation:mainfrom
autodesk-forks:walker/look-transform

Conversation

@doug-walker

@doug-walker doug-walker commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

This PR adds a new built-in transform that provides an ACES look transform intended to be used with ACES 2 SDR Output Transforms that provides a brighter, higher-contrast look that is more suitable for use in computer graphics oriented DCCs.

In addition, it adds new FixedFunction option FIXED_FUNCTION_ACES_RGB_TO_HMJ_20. In comparison to the experimental FIXED_FUNCTION_ACES_RGB_TO_JMH_20, this one reorders the channels to be more consistent with the existing HSV and HSY FixedFunctions and scales them as {h/360, M/200, J/100} so that images in this space are easier to work with in compositing applications.

Note that unlike the experimental ACES 2 FixedFunctions, this one is intended to be final and therefore, there is no warning logged in OCIOYaml when reading a config containing this transform.

In addition, it fixes a bug in the CPU renderer for the GradingHueCurveTransform which affected how the SAT_LUM curve was applied when in video mode.

The config version is bumped to 2.6, in preparation for the upcoming release. Version checks are added for the new FixedFunction and BuiltinTransform.

Some prototype documentation is added in preparation for the 2.6 release.

Please note that the exact parameter values for the LMT are still being tweaked, but that should not prevent people from reviewing the PR as is.

Implements issue #2275.

Assisted by: Claude Code / Sonnet 5.0

Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>

@remia remia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pending the parameters adjustments as mentioned but looks good to me.

Comment on lines +5690 to +5697
if (m_majorVersion == 2 && m_minorVersion < 6
&& 0 == Platform::Strcasecmp(blt->getStyle(), "ACES-LMT - ACES 2.0 DCC Look 1"))
{
std::ostringstream os;
os << "Only config version 2.6 (or higher) can have BuiltinTransform style '"
<< blt->getStyle() << "'.";
throw Exception(os.str().c_str());
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm not missing it, I think this throw is not exercised in the tests (new fixed function throws are tested though). Do we want to add that too?

@cozdas cozdas left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.
I added a comment for a missing version check for the new LMT.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants