ACEScg for Animation feature and further questions

Tags: #<Tag:0x00007fd5a2079430> #<Tag:0x00007fd5a20792a0> #<Tag:0x00007fd5a2079110> #<Tag:0x00007fd5a2078f30>
(Brian Leleux) #25

Thanks for sharing my Painter LUT. I check the latest tab quite a bit, can’t believe I missed this.

I was originally making it to resemble UE4, since that’s where I have experience, but I realized how many VFX artists asked for OCIO support/ACES specifically which is why the download includes one version with changes eyeballed based on a color chart for UE4 and one version straight from Nuke.

However, as pointed out, the LUT still leaves a bit to be desired especially in the highlights. I felt like the whites were clipped pretty quickly, but wasn’t sure if it was the LUT or something with Painter.

I’d like to improve both LUTs if you guys have any other input. I see Thomas shared the gain value that separates UE4’s implementation from the reference, which I was fairly close just from eyeballing it at 1.65, but I reduced the gamma a bit as well. I’ll try it out with just the gain, but UE4 also has the “electric blue” correction after the transforms and a fake wide-gamut that shifts the colors a bit. I don’t know how much I’ll be able to replicate in Nuke.

This is my pipeline, perhaps I missed something since I’m new to Nuke and color transforms…

  • Change Color Management to OCIO with ACES_1.0.3 and a working space of ACEScg
  • Import Linear to Linear.exe, set Read to Utility - Linear - sRGB(Linear Gamma, sRGB primaries? But it uses Rec709 primaries, why are they both available?)
  • Add OCIODisplay node, input ACEScg, display ACES, view transform to sRGB
  • Write out Utility - Raw

I guess based on this thread, which I need to go back through, I’m getting the ODT but on an image outside of 0-1?

(Nick Shaw) #26

That will still only produce a LUT which covers input in the 0-1 range, so will clip highlights. Do you know what the lin-to-log function is that Substance uses when selected as a tone map? If so, you could apply its inverse to the linear data before the OCIODisplay node when generating the LUT, and thus generate a LUT which expects log data, and so handles highlights properly.

(Brian Leleux) #27

Yeah, that’s just what I did for LUT already. Does that seem like the correct workflow then, aside from the clipped highlights? I didn’t expect the LUT to be as popular as it is, so I definitely want to get a closer match to the reference if possible. It’s been bugging me for awhile.

I’m not familiar with the tonemapping options Painter supports natively, at least not what the underlying math is. There are Log LUTs that come with the software. I can compare them later on this evening to see if we can get a rough idea if it’s based on any of the popular Log formats.

(Brian Leleux) #28

I can’t post images since I’m new, but here’s a Imgur gallery with two screenshots. One for a LUT and one for the tonemapping function

Looking at the LUTs that come with Painter, they appear to have the same issue. The “alexav3logc” LUT lifts shadows and reduces the highlights as expected, but the highlights are clamped. There’s a “white point” slider but it’s not the white point I’d expect with color. Instead it acts identically to the exposure input for the camera.

The Log function has a smooth rolloff in the highlights, but the bottom range looks untouched with values still around 0. That doesn’t seem right to me, based on the Log formats I see generally used with film.

Do these help at all?

(Jose L.) #29

I think I managed to make it, basically reverse engineered Painter’s lin2log and wrote the LUT. If you apply it along the log tonemapper you get the same result as your LUT but without clamped highlights. Funny fact, if you don’t apply the tonemapper it’s basically the same than the film_noir lut but with color.

Now for me it’s not clear that with this you have to change the color space workflow, the lut’s only visible in the 3D view in Material mode.

Here’s the file if you want to test.

Uploaded to gumroad with instructions so everything is in one place.

1 Like
(Brian Leleux) #30

Thanks for looking into it Jose. I took a look at yours and I’m not sure if I’m meant to use it along with Painter’s built-in Log tonemapper? With just the LUT, it appears that the highlights clamp quicker for me. My colors were clamped before the ODT, so my whites never get white, but yours clamp after. Did you convert the linear .exr to log first? That’s what I’m missing in mine I think

I do know that the LUT being visible only in the material view/IRay render is as expected. The channel views will continue to show the textures themselves without any LUT or post-process influence.

Left to right: Default(no LUT), mine(without UE4 adjustments), ACESFilm(Jose’s)

(Jose L.) #31

Yes, you have to use it with the log tonemapper, your last example looks like the tonemapper is not applied. If you want to compare it to yours leave tonemapper’s gamma and exposure at default values although if you are not comparing I like to raise gamma to have more “ambient” light so it doesn’t burn highlights.
I had to convert the exr to log before converting the lut. I think I could even have used Reinhard which was mathematically exact but I like the fact that with log the ACESFilm matches the builtin film_noir lut, it’s like a color version of it.

1 Like
(Christophe Brejon) #32

Thanks Jose! We just gave it a try with one of my student at ENSI. Highlights really look better. :wink: Congratulations and thanks for your effort! Much appreciated! Chris

(Jose L.) #33

Wanted to announce that I updated the ACESFilm lut with better colorimetry specially on saturated values.
In the download there’s also a new LUT called “ACESFilm - ACEScg”, it’s meant to convert an ACEScg render into display referred “Output - sRGB” which will be possible with a filter I just made for Substance Painter, I will create a new thread when released in a few days. Check samples and download link here.

(Christophe Brejon) #34

Thanks Jose ! That sounds terrific ! I’ll be checking them asap ! Many thanks !

(Christophe Brejon) #35

Hi everyone,

there is something that has been bugging me for a long time. :wink:
Do you know why the Color Picker in Maya with the ACES 1.0.3 OCIO Config uses this role :

color_picking: Output - Rec.709


If our display space is P3-D60 on a P3 monitor, should not be the Color Picker be ‘Output - P3-D60’ ?

Many thanks for your answers !


(Christophe Brejon) #36

Hi everyone,

Sorry for asking this again but I would love to know more about this… :wink:

Do you know why the Color Picker in Maya with the ACES 1.0.3 OCIO Config uses this role :

color_picking: Output - Rec.709


If our display space is P3-D60 on a P3 monitor, should not be the Color Picker be ‘Output - P3-D60’ ?

Many thanks for your answers ! That would be very helpful !


(Christophe Brejon) #37

Hello there,
I think I got an answer on this.
Color picking uses ‘Output - Rec.709’ as most of our images will be done on Rec.709 monitors and will be viewed through the Rec.709 (ACES) ODT.
We will try a different color picking role such as ‘Output - P3D65’ to match our needs.
Thanks !

(Karas) #38

Wait for your test result .

(kHz) #39

hello,I am not good at CG , and I was wondering what material and parameters you have used in these sphere.

(Christophe Brejon) #40


I have done these tests in a wonderful render engine called “Guerilla Render” using the Surface 2 Shader. I have also done similar tests in Arnold using the aiStandardSurface. All values were by default. I hope that helps,

(Karas) #41

How do you config the OCIO for the P3 monitor? By default the Color Picker is Output-Rec.709

(Christophe Brejon) #42

You can edit the OCIO config and change the role of the color picker. It should look something like this :

color_picking: Output - P3-D60

Hope that helps,

(Karas) #43

Emm…that is so simple,thanks Chris!

(Christophe Brejon) #44

Hello everyone,

if anyone is interested I have created this albedo chart based on the answer from @Thomas_Mansencal and the chart from Sebastien Lagarde on his blog. I have also merged them with the macbeth color checker.

Luminosity values are linear and thumbnails are displayed with the ODT Rec.709 (ACES).

I hope this is helpful,

1 Like