Hello everyone,
we are currently trying to create our own display view in ocio to use dailies lut for composers. And we got a problem while writing code in ocio config to make color transform correctly.
ACES 1.2
Example:
We have a plate in ACEScg and we need to transform it to rec709 with color transforms. Correctly transform (in Nuke) looks like:
ACEScg plate → applying .cc lut (OCIO File Transform) → applying .cube lmt (OCIO File Transform)-> Output - Rec.709
Working space for OCIO File Transform is ACEScct
Now in config ocio:
We create a look
looks:
!
name: CustomShot
process_space: ACES - ACEScct
transform: !
children:
- ! {src: 001_custom_010.cc, interpolation: linear}
- ! {src: show_lmt_001_acescct_to_acescct_33.cube, interpolation: linear}
And now we have to apply Output - Rec.709
We tried to create Custom Rec 709 View
- !
name: Output - Rec.709 Custom
family: Output
equalitygroup: “”
bitdepth: 32f
description: |
ACES 1.0 Output - Rec.709 Output Transform
ACES Transform ID : urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_100nits_dim.a1.0.3
isdata: false
allocation: uniform
allocationvars: [0, 1]
to_reference: !
children:
- ! {src: InvRRT.Rec.709.Log2_48_nits_Shaper.spi3d, interpolation: tetrahedral}
- ! {src: Log2_48_nits_Shaper_to_linear.spi1d, interpolation: linear}
- ! {src: ACES - ACEScg, dst: ACES - ACEScg, looks: CustomShot}
from_reference: !<GroupTransform>
children:
- !<ColorSpaceTransform> {src: ACES - ACEScg, dst: ACES - ACEScg, looks: CustomShot}
- !<FileTransform> {src: Log2_48_nits_Shaper_to_linear.spi1d, interpolation: linear, direction: inverse}
- !<FileTransform> {src: Log2_48_nits_Shaper.RRT.Rec.709.spi3d, interpolation: tetrahedral}
and in displays we have
displays:
ACES:
- ! {name: UGRF LUT, colorspace: Output - Rec.709 Custom}
Unfortunately it looks the same Output - Rec.709. and our Custom Rec.709
Question is: how to create custom display view in ocio config with 2 file transforms and look under
Output - Rec.709
Hope description of our issue is understandable and maybe someone has a solution for it.
Any help would be really appreciated. Thank you!
With warm regards,
Igor
NAD
(Nelson-Andrei Dimitriu)
May 17, 2021, 8:29am
2
Hi Igor,
First, you need to copy your LUT to the “luts” Folder of the OCIO package containing your ocio.config, then
try this in your ocio.config:
Display area of the config:
displays:
ACES:
- !<View> {name: *DV_name*, colorspace: Output - *DV_name*}
Active displays area of the config:
active_displays: [ACES]
active_views: [....., *DV_name*]
Colorspaces area of the config:
Go to the Output region, where you can find all Output definitions and add:
- !<ColorSpace>
name: Output - *DV_name*
family: Output
equalitygroup: ""
bitdepth: 32f
description: |
LUT Test
isdata: false
allocation: uniform
allocationvars: [0, 1]
from_reference: !<GroupTransform>
children:
- !<ColorSpaceTransform> {src: ACES - ACEScg, dst: ACES - ACEScct(this needs to be set to the proper input colorspace for your LUT)}
- !<FileTransform> {src: LUT.cube(your LUT in the "luts" folder), interpolation: linear}
- !<ColorSpaceTransform> {src: ACES - ACEScct(this needs to be set to the proper input colorspace for your LUT), dst: ACES - ACEScg}
- !<FileTransform> {src: Log2_48_nits_Shaper_to_linear.spi1d, interpolation: linear, direction: inverse}
- !<FileTransform> {src: Log2_48_nits_Shaper.RRT.Rec.709.spi3d, interpolation: tetrahedral}
Good luck,
Andrei
2 Likes
Hello Andrei,
Thank you for your advice, it works pretty well, but we still have a problem with a color shift.
We have a ocio file transforms applied on plate in Nuke
Plate in ACEScg → OCIOFIleTransform (working space - ACEScct, interpolation - linear, direction - forward) and we are looking in RAW Viewer (just for a proof)
We changed the OCIO Config with your instruction and created a View, without Rec.709 transform
!
name: Output - LOOK Test
family: Output
equalitygroup: “”
bitdepth: 32f
description: |
LUT Test 2
isdata: false
allocation: uniform
allocationvars: [0, 1]
from_reference: !
children:
- ! {src: ACES - ACEScg, dst: ACES - ACEScct}
- ! {src: LUT.cc, interpolation: linear, direction: forward}
- ! {src: ACES - ACEScct, dst: ACES - ACEScg}
to_reference: !
children:
- ! {src: ACES - ACEScg, dst: ACES - ACEScct}
- ! {src: LUT.cc, interpolation: linear, direction: inverse}
- ! {src: ACES - ACEScct, dst: ACES - ACEScg}
So, transforms 1 and 2 are the same, but in Nuke we can see a saturation color shift. May be exist some way to define a parameter of working space for a LUT in OCIO Config, like its working in OCIOFileTransform node in Nuke?
Thank you!
With warm regards,
Igor