Date
1 - 1 of 1
Review: Native Per-Shot Looks
Jeremy Selan <jeremy...@...>
https://github.com/imageworks/OpenColorIO/pull/133
https://github.com/imageworks/OpenColorIO/issues/49 This adds a new config-level class, OCIO::Look. It's intent is to make the re-use of Looks (such as per-shot looks), more convenient and explicit. A new Nuke node (LookTransform) is also added. This functionality mirrors the intent of the IIF's LookModificationTransform (LMT). The user defines a series of color transforms, assigns them a name (such as 'CC_Red, DI_Look', 'Onset look', etc), and also specifies what ColorSpace the processing should be applied in. Both forward and inverse transforms can be specified, if needed. The DisplayTransform has also been extended so that a look can be specified (and obeyed) automatically. (example below). The use of Looks is purely optional. Example Config look syntax: # Defining the look looks: - ! name: CC_Red process_space: lg10 transform: ! {offset: [0.05, 0, 0, 0]} - ! name: CC_Cyan process_space: lg10 inverse_transform: ! {offset: [0.05, 0, 0, 0]} # Using it in a Display displays: sRGB: - ! {name: Raw, colorspace: nc10} - ! {name: Log, colorspace: lg10} - ! {name: Film, colorspace: srgb8} - ! {name: Film Red, colorspace: srgb8, look: CC_Red} - ! {name: Film Cyan, colorspace: srgb8, look: CC_Cyan} Within the Look blocks, all Context (per-shot) envvar support is fully obeyed. This also makes it simpler to re-use looks across multiple display devices (such as srgb + dlp). Previously, the look specification would be in multiple places in the color configuration (for each device). This is backwards compatible (both the binary ABI and the .ocio file format). However, OCIO::DisplayTransform::setDisplayColorSpace is now deprecated in favor of setDisplay/setView. The old interface is fully supported, but the new Look functionality requires using the new API. All internal nodes and examples have been updated to use the new API. -- Jeremy |
|