What's the correct way to composit with ACES, considering the difference in white values?

Hello everyone!

I’m slowly figuring out ACES for my personal VFX projects, but the past couple of days I ran into some trouble with how white values work with ACES. I’m using Fusion (but the same applies in Nuke, I checked), and when I add a simple white Background node (constant), what Fusion considers 100% white is actually grey, when outputting Rec.709 from ACEScg.

I read around here and messed around in both Fusion and Nuke to understand this better, and I understand that ACES allows for much more data to exist beyond the value of 1.0, but this is still leaving me confused. How should I go about compositing when working in ACES?

I’ve created a little test comp with some footage from my Blackmagic Cinema Camera 2.5K (RAW footage) and some Light Rays. Looking at the linear image, the light rays are beautifully blown out, like I want them to be at the source, as it’s simulating the look of pointing the camera at a bright light, which is what I’m after, but when viewing the composition after the ACEScg>Rec.709 ODT node… it’s all wrong.
Every node in the flow that uses white values are inherently much darker, so everything looks dull and almost transparent, far from the blown out highlights look I’m going for.

My test comp is of a hologram screen, basically. The hologram is made of white lines and a strong blue light emitting from below it, the source of said light I want to look blown out.

So I understand there’s a reason for how ACES works, but what’s the correct way to composite with this in mind? If all my white constant nodes are not white anymore, if matte nodes aren’t white anymore, what’s the right way to work?

I tried doing something suggested in another post here, converting some nodes from sRGB to ACEScg to “correct” the values, but this only works in a few cases. In other cases, it destroys the data basically. Some nodes only have simple colour values, like constants, but some are more complex, and using that “correction” on them can really destroy their effect.

Much appreciated!

If you throw in a ramp from linear 0-100 you will see the tonemapping curve used by the rrt+odt, so you can see where your different input values would be after output.

Basically you just create constant nodes with higher values than 1, take a look at the linear values from your camera if you film a blank sheet of paper with different brightness lights hitting it, thats the same way a constant will react “in aces”.

Could mean 10 or even 30 depending on what you are doing. Blown out white sounds more like “100” or
even higher linear values, just keep pumping them up, the point is that you end up with light levels that make sense physically.

As a reference Take a look at some footage, really helps.

For graphic elements I recon staying out of aces , depends on what you mean with “compositing”, depends where graphics have been authored in.

Mattes shouldnt be effected by this, they should always work with 0-1 values and are linear , dont know if thats a fusion thinng but maybe you are confusing what you see and what the values are really here? Viewer transforms should be turned off when looking at mattes.


Happy New Year. The issues you are experiencing are not ACES specific. They can happen in any linear workflow. Hopefully I can provide some additional clarity on what is going on, but that will require some additional questions.

Color management and workflow becomes much more critical when working in sensor referred linear workflows such as ACES. A big part of that is understanding what colorspace you are in when you create an manipulate objects.

When you are creating the Backgound(constant) node, what colorspace are you in? When you make ‘white’ what color is that?

It sounds an awful lot like you are working in ACES cg( the default working space in NUKE ACES) and that the white you are making in a 1.0 ‘white’

If you were working in a display referred ie ‘rec709’ workflow. The 1.0 white would be expected to be the brightest value the display can make.

In a sensor referred linear workflow such as ACES , things work very differently. there is no ‘white’ as defined by by the system. The only values that is defined is 18% grey which is by definition .18 is ACES linear. 1.0 ‘White’ in ACES linear is 2.474 stops brighter than 18% grey. Conceptually this is a pretty big change from working in a display referred (rec709/P3) workflow. In practical terms the 1.0 white is approximately diffuse white. Diffuse white can be thought of as the brightest white object in a scene that doesn’t create it’s own light. That is just an approximation, but it is one that helps put a visual reference to the number. Basically 1.0 ‘white’ is the brightness of a sheet of paper in your scene.

When you are viewing the linear image, what viewing transforms are you using? In ACES the linear data is just data and not an image. While it can appear like something, it requires display specific processing for any specific display. It sounds to me that you are viewing the ACES data directly on a display. That is going to make any values in the file 1.0 above to be the display max. that is not the proper way to view the image. In this case it is creating the effect you want, but that is arbitrary. You are seeing what you want and not what you have. In a proper ACES pipeline, the images will look as you stated, muted and transparent.

The effect you want to achieve is trivial in REC709 but challenging in ACES. ACES is designed to preserve a large amount of dynamic range. Basically it is impossible to ‘blow out’ ACES. That includes the display transforms as well, So if you made a image that appears blown out in the REC709 ODT it will appear transparent in HDR, in the same way that you are experiencing.

The solution is to create an effect that that the same level that would look blown out as if the camera capturing the image was blown out. You can get this value by looking for any blown out light in the source plates. what ever value is the image that is blown out becomes your ‘White’ You are very lucky that you know what camera took the source plate. Depending on how the camera was setup the ‘white’ should be around 5.7 in ACES cg. If you didn’t know it becomes harder as ACES obscures the capture camera by design. If this was a ARRI plate, the ‘white’ becomes 55.01.

Working in linear spaces is quite different than most artists are used to. Composting in linear achieves a match to the behavior of the interaction of scene lighting and object. It makes comps that are much more robust when it comes to color grading and lighting changes. It is unfortunately not intuitive.

Many artist composite in linear, but perform other operations in a log space. ACES provides ACES cct and ACES CC as possible spaces to interact with. Paint and touch-up work are significantly easier in those spaces.

I hope that this provided some additional insight to what is going on in your comp and some ways to get around it.

1 Like