Aces 1.3 - How to use 1.2 OutSrgb equivalent as IDT/ODT?

Hello all,
I learned how to implement OCIO and Aces in my CG workflow using OCIO 1.0 Aces 1.2, and now I’m trying to update to OCIO 2.0 Aces 1.3. The main hurdle that I have run into so far is accessing the Output - sRGB colorspace to be used as an IDT or ODT when using the config “cg-config-v1.0.0_aces-v1.3_ocio-v2.0” from Releases · AcademySoftwareFoundation/OpenColorIO-Config-ACES · GitHub). With Aces 1.2, this was an integral part of my workflow, where in some software (Maya, Substance Painter, Nuke, After Effects, Photoshop; all with AcesCG as the working space) I would read in images with the Output - sRGB colorspace used as an IDT so after the AcesCG > Output - sRGB view transform is applied the images look like they do when viewed regularly ie. on the web. It was also important to have access to this as an IDT/ODT for my workflow in Photoshop, where using the fnord OCIO plugin I used an AcesCG → Output - sRGB transformation to create a LUT for my view transform, which I did in favor of using a display transformation? (don’t know if that is the correct term) where input space = “ACEScg”, display = “ACES”, View = “sRGB” because when exporting a LUT from the OCIO plugin with these settings, using that LUT as a view transform would result in highlight clipping which a LUT generated by the plugin with the ACESCG → Output - sRGB conversion would not.

Essentially, I’m sorely missing the ability to read in images with the display - sRGB colorspace in Aces 1.3 from the ocio v2.0 cg config, and am looking for any pointers to allow me to have the same functionality that I had in Aces 1.2. Thanks!

What you are wanting is in inverse sRGB display transform. One has to be careful with these, so it’s worth considering how you are using this in Maya, Substance Painter, Nuke, After Effects, and Photoshop. I would generally caution against using it in Painter, Photoshop, and Maya assuming that in each of these the goal is to create texture maps. If you use an inverse display transform for a texture map, this will make value of white around 16, which will break the PBR rule of energy conservation. Instead you want to use the Utility - texture - sRGB color space. For software that works with OCIO (Substance Painter & Maya) this works well. For Photoshop this is a bit more tricky and you need to get it to view the image through an ICC profile of the ACES display transform. One pretty quick workaround is to read in the image in Nuke (input: Utility - texture - sRGB) and tweak it to look as desired, then write (output: Utility - texture - sRGB).

The only time you would want to use an inverse transform in Nuke or After Effects is if you were trying to bring in graphics (like a logo) that would not be integrating with an photo, or possibly if you wanted to try and fake HDR on an image (keeping in mind that whites will have a value of ~16. In Nuke you can use a OCIOdisplay transform to do this. Not sure how to do this in After Effects as I don’t use it. Maybe someone else can jump in there?

For After Effects currently the OCIO implementation is very sparse unfortunately. We don’t have OCIODisplay as an effect. You could use the fnord plugin next to the native implementation however. The only gotcha there is that the plugin expects a default colorspace listed in the roles section of the config file. I’m not sure if that is the intended way to implement such a plugin but you have to add that line to the roles list of whichever v2 config you are using. The plugin fails to load the config otherwise.

This is what mine looks like:

  aces_interchange: ACES2065-1
  cie_xyz_d65_interchange: CIE-XYZ-D65
  color_timing: ACEScct
  compositing_log: ACEScct
  data: Raw
  default: ACES2065-1
  reference: ACES2065-1
  rendering: ACEScg
  scene_linear: ACEScg
1 Like