ACES render->cop2 workflow in H19

   2410   2   2
User Avatar
Member
207 posts
Joined: Nov. 2015
Offline
Hi there;

I'm hoping to verify (or poke holes in) my understanding of using ACES throughout my workflow in Houdini.

At the moment, I'm using Houdini 19.0, And ACES 1.2
  • I've converted my scene textures from sRGB to ACES thusly:
    oiiotool --colorconvert "Utility - sRGB - Texture" "acescg" -o [output.exr]
    
    (in the case of textures)
    oiiotool --colorconvert "Utility - Linear - sRGB" "acescg" -o [output.exr]
    
    (in the case of HDR IBLs)
  • I set my $OCIO env variable to my ACES 1.2 config file - I verify that I see ACES stuff showing up in my render view display options
  • I don't see any specific ACES options on the Karma render node itself, so I assume it just does the thing I want, which is to write to ACES_cg EXRs when I specify the EXR extension.

The part where I get a little fuzzy is in COPs. Right now I:

  • Read my render file in COPS. There doesn't seem to be any metadata that I can find in the file specifying that it uses ACES_cg ... do I have to just know/trust this about the image? How would I determine this if I just found this image in the wild?
  • I *think*, if I want to be pedantic, I should disable "linearize non-linear images" on the COP file node. This seems to have no visual effect, which I think should reassure me that the image is in fact linear.
  • I do some comp stuff.
  • I would like to write out an 8-bit jpg or png. I think I can either:
    -- keep the "Convert to output file's colorspace", and trust that the file output ROP in COPS knows to transform from ACES_cg to sRGB for either of these file formats.
    OR
    -- disable "convert to output file's colorspace", and then - just above this node - create a VOP filter that does the OCIO color transform explicitly (as seen in the image here):


My problem is that the two output options above provide different results.

If I create a constant color of (0.5, 0.5, 0.5), and try outputting the two ways described above, the first way creates a PNG with color values of (0.5, 0.5, 0.5). The second way creates a PNG with color values of (0.38, 0.38, 0.38,), which is a value I'm unable to explain to myself.

Could anyone offer some guidance?

Thanks!
Edited by dhemberg - May 14, 2022 12:08:17

Attachments:
Screen Shot 2022-05-14 at 11.00.42 AM.png (107.7 KB)

User Avatar
Member
7771 posts
Joined: Sept. 2011
Offline
dhemberg
I don't see any specific ACES options on the Karma render node itself, so I assume it just does the thing I want, which is to write to ACES_cg EXRs when I specify the EXR extension.

Nope, writing acescg exrs is all in your head. The output has whatever colorspace you want by fiat. There aren't any mechanisms in karma or mantra to use different colorspaces. They only really come up with dealing with XYZ/spectral effects, but they are hardcoded to srgb colorscience. So if you really care that some effects might appear more saturated than the should be, then you could say karma can only render in srgb, but no one really does. So for the purposes of simplicity, aces textures = aces renders. For karma, OCIO's job is to convert textures that are not in the scene linear space to scene linear, and optionally to convert image planes from scene linear to some other space.

dhemberg
Read my render file in COPS. There doesn't seem to be any metadata that I can find in the file specifying that it uses ACES_cg ... do I have to just know/trust this about the image? How would I determine this if I just found this image in the wild?

Exactly, with OCIO, there is no metadata. Like I said the colorspace is in your head. The renders are acescg because you know it to be true. The one form 'metadata' that is supported must be present in the file name, for example to tag your renders as acescg, name them "rendername.acescg.0001.exr"

dhemberg
I would like to write out an 8-bit jpg or png. I think I can either:
-- keep the "Convert to output file's colorspace", and trust that the file output ROP in COPS knows to transform from ACES_cg to sRGB for either of these file formats.
OR
-- disable "convert to output file's colorspace", and then - just above this node - create a VOP filter that does the OCIO color transform explicitly (as seen in the image here):


If you're using OCIO for color and want to bake in the display space to the output, then you need to use the second option. Unfortunately, COPs doesn't have any OCIO aware output settings. The option to 'convert to output file's colorspace' is just a straight gamma 2.2, it's not even proper srgb. So I would actually never use that option if you care about the output.
Edited by jsmack - May 14, 2022 12:41:10
User Avatar
Member
207 posts
Joined: Nov. 2015
Offline
This is fantastic, thank you for the elaboration!
Edited by dhemberg - May 16, 2022 21:44:51
  • Quick Links