Utility - sRGB - Texture IDT in Nuke / Maya

Hi Everyone,

I know there are a few threads about bringing in sRGB elements into ACEScg, but there are very few clear answers.

here is a simple workflow NUKE

An sRGB image -> “utility - sRGB - Texture” IDT -> ACEScg -> “sRGB (ACES)” RRT/ODT

Why is the sRGB image that I get out so much different that the image that goes in? The whites are lower (0.8 compared to 1) and all the colors are darker and appear less saturated?

Just really trying in understand why we are not getting out what we put into the pipeline. After this step everything in the workflow makes sense and works as expected.

Thanks

1 Like

Welcome Chris,

The only thing you need to do is to select the correct transform in Nuke, e.g. Utility - sRGB - Texture and it will transform in this particular case your sRGB encoded image to ACEScg. Once you have done that you are settled and you should not need any additional transforms.

Now about preserving the Look, i.e. the sRGB Display Referred Look: The short answer is that it is only really possible for elements that are Logos and living above your renders or on the top of your comp.

For CG elements, it is impossible (disregarding some very specific and unrealistic conditions) to match any of their sRGB Display Referred Looks while viewing them under the sRGB ODT: Textures, BxDFs and Lighting have all to say during Lookdev but your only practical leverage is really via the Textures. Should you try to modify your Textures to compensate any difference, and you will find yourself on a dangerous path where you will eventually generate illegal reflectance/albedo values and/or destroy your data while still been unable to produce a match.

It is simply not worth the troubles and I would recommend to be pragmatic and accept the fact that working in a Scene Referred Workflow impose a View Transform with a S-Curve, e.g. sRGB ODT, that produces imagery that is different to a traditional sRGB Display Referred workflow.

That being said, you can still grade your renders to get closer to your original look if you are really keen. It is not uncommon to increase the gain of imagery when seen under the sRGB ODT for example.

I hope this helps,

Cheers,

Thomas

Hi Chris,

I agree with Thomas who is really resourceful here! I was in the same situation a few months ago. We needed a way to correct this colour shift for a project in which colours are meant to be bright and saturated. To compensate and get that sRGB look back I set a colour correction workflow in Nuke (post renders).

The best way I found, still not a 100% accurate one, was to do that on all the albedo aovs. As you don’t want the correction to affect your lighting. i.e:
Read nodes -> Extract all the albedos aovs -> colour correct them -> reshuffle-in the corrected aovs with all the other aovs -> comp your shot

Cheers

1 Like

Ha! This is quite interesting way to do it.

Something related I was mentioning in a thread here some time ago is that for online resources of unknown processing origin and intended to be used as textures, it might be useful to apply a curve that reduces the contrast a bit. The one I have been using is the Adobe Camera Raw (ACR) one: Adobe Camera Raw - Exact Default Tone Curve - Google Sheets One can use that script to load it into a Lookup node in Nuke: colour-nuke/colour_nuke/lookup.py at master · colour-science/colour-nuke · GitHub

The reasoning for using the ACR curve is that:

  • It will never destroy your data contrary to the various ACES Output Transforms, e.g. Output - sRGB.
  • Most textures online resellers are using Adobe Lightroom or Adobe Photoshop for processing their photographic.
  • They pretty much never ever ever use properly linearised .dcp profiles: Blog - Linear Pipeline and RAW *.CR2 processing. | Triplegangers, note that while the UI of the various Adobe products has changed recently, the .dcp profile you want to use in that workflow are Adobe Standard.

Cheers,

Thomas

1 Like