Trying to get into ACES, already failing at the most simple thing

Hey everyone,

slowly trying to get into ACES, but it is a steep learning curve for me. I’m really sorry to bother this forum with this, but I really can’t wrap my head around it.

So - I’m using Nuke with aces_1.1 and ACEScg as my working space. The first and obvious thing I tried to do was reading in a random sRGB picture from the internet. My viewer LUT is set to sRGB (ACES), I changed my read node to Utility - sRGB - Texture. What I see now in the viewer is similar to what I see in my finder (I’m on Mac) but not the same. It is slightly darker. When rendering the frame with Output - sRGB this difference also shows up in Finder / Preview.

What confuses me even more is that the only way to get the exact same visual in the Nuke viewer is to set the Viewer LUT to RAW (ACES) and turn my read node to Raw Data. At this point I’m totally lost now. I kinda understand the theory that using no sRGB curve on the picture (by choosing RAW) and using no LUT for the viewer, things kinda neutralize itself and I get the correct sRGB visual in the Nuke viewer again.

But I would assume that the workflow I described first should be exactly the same thing…“removing” the sRGB curve by assigning Utility - sRGB - Texture and then re-applying it again with the Viewer LUT set to sRGB.

Sorry for describing my problem in such a layman’s terms way…I really appreciate any help on this!

Thank you…

Tim

1 Like

Thanks for your first post…welcome!

1 Like

Hi Tim,

You are not bothering anyone but there has been lately very similar questions and it hints at the fact there is not enough documentation on that topic or at least, easily accessible documentation.

The core of the issue lies in the fact that a random internet image has already been almost certainly rendered, i.e. it has a Look applied to make it pleasing or faithful to the original scene on the authoring display, and encoded for Display presentation. We say that the image is in a Display-Referred (or Output-Referred) state.

With that in mind, ACES is designed to process images that are in a Scene-Referred state, thus, if you push an image from the web that has been already rendered through ACES, you will basically render your image two times which is unsuitable.

The Utility - sRGB - Texture colourspace will only decode the image by applying the sRGB EOTF but it will not undo any rendering. There is no way of knowing how a random image was rendered.

Assuming that you did manage to un-render/de-render your Display-Referred image and thus brought it back to the Scene-Referred state, pushing it through the sRGB Output Device Transform would still not make it look like the original one because the ACES rendering is obviously different to that of your image.

When you do that, nothing happens in the display chain: The image is not decoded to linear and it is not re-encoded for display, it is basically a No-Op.

The ideal workflow would be to no use random internet images but only properly acquired Scene-Referred images. If you do really have to use random internet images, then you need to de-render them, I would suggest reading that thread as there are few things of direct interest for you: Linear-sRGB not behaving as expected

Cheers,

Thomas

1 Like

@Thomas_Mansencal

Thanks for taking the time answering me! Your reply is very insightful and gives me enough food to dig into this deeper. Cheers!