Blender Support for ACES (Academy Color Encoding System)

What is ACES?

The Academy Color Encoding System (ACES) is a global standard for interchanging digital image files, managing color workflows and creating masters for delivery and archiving.

It is a combination of SMPTE standards, best practices, and sophisticated color science developed by hundreds of professional filmmakers and color scientists under the auspices of the Science and Technology Council of the Academy of Motion Picture Arts and Sciences.

ACES can be used on any type of production from features to television, commercials, AR/VR and more.

Why Use ACES?

ACES standardizes and simplifies color management by maintaining the color fidelity of your production at the highest level throughout production, postproduction and archiving.

It simplifies camera matching in DI; improves color and workflow communication; adds reliability to the color viewing pipeline; simplifies and “future proofs” the creation of outputs; and can help create a 'know quantity" master for the archive.

Importantly, ACES is free and open source, so dozens of companies have built it into their tools and continually innovate on top of its standardized framework.

Who uses ACES?

Hundreds of productions, from films to television series to commercials, and VR content has been produced using ACES, including The Lego Movie , The Lego Batman Movie , Guardians of the Galaxy Vol. 2 , King Arthur: Legend of the Sword , The Grand Tour , Café Society , Bad Santa 2 , The Legend of Tarzan , Chef’s Table , Chappie , The Wedding Ringer , Baahubali: The Beginning, The Wave
and Unreal Engine

Links:

tutorial:

website:

wiki:

download:

Images:

aces_main3 unnamed

Its a small feature but will help a lot in projects.

thanks

#render #colormanagement #aces

4 Likes

ACES is really nice in terms of color, I always felt like filmic is somehow off-color !

I use ACES in my recent projects and it works reeaalIy nice
and I wish, we have a proper integration to blender (switchable filmic / ACES)

For the usage I found that you need to use:

for hdr environment (and normals also?) = Utility-Linear-sRGB
Textures = Utility-sRGB-Texture

do you have any other working setting / is this right ?

what still is not really useful is the overload of profiles inside the ACES config,
I found that there are “roles:” definded in the blender-shipped ocio-config,
where ACES-config is not matching, so you have to pick them inside the Texture nodes…

Anyone knows which ACES-setting needs to be used with the blender roles?
i tried, but I did not excacly know where the roles are used…
and so the viewport was kind of the wrong space (dimmed)

i think it is for
Linear -> Utility-Linear-sRGB
sRGB -> Utility-sRGB-Texture
???

see the standard ocio:

roles:
reference: Linear

Internal scene linear space

scene_linear: Linear
rendering: Linear

Default color space for byte image

default_byte: sRGB

Default color space for float images

default_float: Linear

Default color space sequencer is working in

default_sequencer: sRGB

Distribution of colors in color picker

color_picking: sRGB

Non-color data

data: Non-Color

CIE XYZ color space

XYZ: XYZ

Specifed by OCIO, not used in Blender

color_timing: Filmic Log
compositing_log: Filmic Log
default: Linear
matte_paint: Linear
texture_paint: Linear

Please make sure that you understand what ACES is, what it brings to your workflow and what’s the proper way to implement it before discussing whether it is needed in Blender or not.
A few screenshots of a misguided comparison between Filmic Blender and ACES is not a great starting point.

Blender doesn’t need ACES support. Blender needs to flesh out its colour management so OCIO configs are properly honored through all the pipe. With that sorted out having ACES is just one OCIO config away.

Blender tried to have ACES before and failed because of that. We don’t really need an ACES item in the colormanagement panel. We need features that allow to deal with ACES configurations and their roles and colourspace definitions.

Still want ACES in Blender? Fine.
You need: A handy way to load ACES configs that doesn’t mean replacing the default colorspace config each time you open Blender, some OCIO nodes/features in the compositor and image/shading editors to apply colour transforms and making sure that sRGB isn’t hardcoded in the source code anymore.

10 Likes

Could you exlain why Blender does not need ACES? I searched all through the internet, and results I found suggest that ACES is this best solution that “every artist should use”, because it seems to render “far more realistic renders faster”. And from the video tutorial in this post, it looks like ACES provides so many more color spaces than what Blender currently has. Is having all these extra color spaces useful or not needed? I have heard that Blender used to have a lot of looks under color management in 2.79, but they were removed in 2.80 because those looks were designed for real life cameras, not 3D renders. Is it the same reason you said Blender does not need ACES?

Also why are those comparisons misguided?

I’ve tested ACES with a few projects and I love it. It provides great lighting, nice highlights and color looks way better that srgb and filmic. In fact I hate filmic for its washed out highlights and odd color in some cases, without post-processing it looks off for me.
Also I found out that ACES gives a faster result, highlights are way cleaner than with filmic and I generally need 50% less samples.
Just an example from Aaron

Fully agree.

Using a .bat file to open the blender with the aces profiles works pretty flawlessly imo. List is abit long, but never had an issue with that.
Only thing I could’t find is how to save these profiles in the blend file itself so i can use render farms.
Anybody knows how to deal with this by any chance?

We launch blender on the farm through a shell script so it picks up all the same configs and env vars as the artists. That way we get the same OCIO config when rendering on the farm by exporting the OCIO env var.

In short, create a new bat file with the right env vars as a wrapper for the blender executable on the farm.

Have you tested something with more extreme light, like a slightly tinted sun going from outside or the inside or something similar?

Try this with ACES or Default:

1.- Create a plane, just a plane, no lights in the scene, no environment at all.
2.- Put an emissive shader to that plane, and the RGB values for the emission should be R:1.0 G:0.0 B:0.0
3.- Try different strengths, 1, 100, 1000, 10000

4.- Answer this questions, do you get the expected brightness and realistic result? do you get the expected color?

5.- Now let’s repeat the test but use these RGB values: R:1.0 G:0.001 B:0.0, then check the same strengths

6.- Answer this questions again, do you get the expected brightness and realistic result? do you get the expected color?

7.- Finally, repeat the same test with Filmic instead of ACES or Default.

Please when you perform this tests publish the resulting images here so we can all check them :slight_smile:

Not sure if you wanted to see a red color with or without converting it to aces first.
The colorspace used was “sRGB-texture” as if it’s a pure red from a texture.
Included an exposure and blur in post, cause thats where the differences becomes more obvious.

Aces Workflow:

Linear Workflow (normally needs some sort of tonemapping):


Filmic Medium:

1 Like

That make sense! Unfortunatly i’m looking for a solution so I can use aces on a commercial renderfarm.
Unless i’m misunderstanding there isn’t a way to include external color profiles inside a blender file right?

If you see these tones:

ACES:
image

Filmic:

What do you think it’s the most expected and predictable result for your lighting from those two pictures?

That’s the thing, now if you think going from a sun lit exterior into an interior changing exposure then your color goes crazy, there are more examples, and maybe they finally implemented Gamut Mapping in ACES, something that was not present some time ago, but @troy_s can do a better explanation, put more examples and expose what’s the state of the art of things regarding ACES :slight_smile:

Hey Juan.

Sorry, I haven’t had or seen any issues when using aces when it’s used in a proper workflow. (easy to screw up an idt) I always have found it a lot quicker and easier workflow.
Might wel be there was something wrong before I started using it though.

Is there a small test I can do or a link where I can see this issue?
I assume you mean an exterior / interior scene with a bright sun in the hdri?
The sky texture isn’t usable as far as i know cause i can’t convert it in blender to aces colorspace atm.

Edit: Forgot to anwseryour question haha. wel imho its a bit of an crappy test. It’s like doing a macbeth test with colored lights. In normal situations aces looks a lot more natural in my eyes. No more washed out colors, and nice deep blacks.

To me it does not really matter, here are some comparisons:



To me their actual difference is not that much. If you have to pick which one looks better, I think Filmic looks nicer to me, lol

Seriously though, why so many people want to use ACES so badly? I think Filmic is doing a very decent job here!

Meh, it’s just a wooden cube in space)

I like ACES for better colors and highlights out of the box. There’re might some cases when it doesn’t work good but I can’t care less about it. I’d like to give a try in a complex shots though.

Just want to add here that aces is usually used throughout the postproduction process aswel to keep the colors consistent from multiple sources. I agree that Filmic looks great, and probably in certain situation it can even look better than Aces out of the box. But for postproduction I personally highly prefer aces for the ease of use and the wider primairies.

2 Likes

“Seriously though, why so many people want to use ACES so badly? I think Filmic is doing a very decent job here!”

Because ACES was created to become a industry standard, and Filmic is not?
Why is change often so hard for Blender users? If you want to play along, certain things might have to change in Blender to work better in a studio environment. :wink:

Sure. But ACES generates garbage imagery by default.

Feel free to dive into it and actually pay attention to what the working space values are and the hideous posterization, gamut clipping / hue skewing.

There’s a very good reason that a massive colourist shop and plenty of cinematographers avoid it like the plague. It’s dead in the water on that front.

4 Likes

I’m all in for a healthy discussion on this, and love to know more.
I found this website and this one nice information sources on the subject.

But can you point out to some of the articles discussing problems? So far I don’t really find what you’re suggesting. A lot of confusion about what ACES is, and how to use it… Yes… Those are abound. :wink:

2 Likes

You have some in that link you gave :slight_smile:

image

But there they mention Gamut Mapping for example but don’t explain why they mention it as a limitation.

@BlendNewb I don’t have proper examples here to show you, I did some tests in the past, and the look was looking good until I started noticing some weird things, also using it inside Blender gave other problems and added complexity, so after testing it in some of our scenes and talking with @troy_s I decided to remove it.
However @troy_s showed me a picture taken with the Arri Alexa camera and treated later with ACES, and the problem was amazingly obvious, also a picture of some guys with some lights in their hands, not sure if he may have them at hand now.

@JuanGea: They discuss a bit, but without ‘real’ footage comparisons & workflows it’s hard to tell where the pitfalls are exactly.
Would like to see those images, and how they got around certain issues. :slight_smile:

1 Like