-
Notifications
You must be signed in to change notification settings - Fork 481
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.