AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

OCIO 2.x Backwards Compatible BuiltinTransform Baking

Open
#2,219 1 comment 0 reactions 0 assignees View on GitHub
Feature Request
Dominant language
C++
Stars
2.1k
Forks
503
PR merge metrics
No merged PRs in 30d

Description

Given the introduction of BuiltinTransforms and FixedFunctionTransforms in the OCIO 2.x library and configs, there is an increasing likelihood that a config author will need to write out a config to support an application or tool that relies on an older version of the library which may not have access to Builtin or FixedFunction transforms the author wants to utilize.

At present a config author (assuming they're using the latest OCIO version for authoring) would need to keep a local list of which features are available for a given version of the OCIO library/config and manually swap the elements that are not supported for the older library/config version they are targeting.

Many of the BuiltinTransforms and a few of the FixedFunctionTransforms are representable with core OCIO Ops, and thus do not fundamentally require the convenience of having the transform built in to the library. In these cases the library its self should be able to support "flattening" a Builtin or FixedFunction transform to a composition of Transforms/Ops that are supported in the requested version, or throw an error if not.

As a first permutation of the feature it should only support flattening of transforms that are perfectly representable via other Transforms/Ops. At a later stage an automatic approximation of more complex transforms could be explored.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.