After Effects VFX workflow - 3D multipass sRGB-linear under Acescg

Hello everyone. this is a continuation of a previous post I made: Aces for LOG-Rec709 roundtrip in After Effects

so now I just finished my first Compositing scene in Ae using Aces and I have to say there’s a bit of satisfaction I was able to process the whole way through. so basically I came here to learn about log roundtrip but got so much more :slight_smile: but still there’s some thing I need to understand and doesn’t quite fit.

by now, I know how to composite sRGB and LOG together (scene referred and display referred assets) in Aces linear workspace and everything is perfect in Ae. now I want to see how do I bring multipass assets from C4D to the mix. I have multipass PNG sequence files done in C4D in sRGB linearize workspace, brought to Ae and compiled in Ae. this multipass comp looks fine as is in the Rec709/sRGB linearized workspace, but how do I place it under the Acescg->Rec709 transform adjustment layer without a color shift so that all the assets from different sources will play nice together in the Aces playground?

in @i_go_by_zak tutorial, he shows how he brings EXR with no OCIO or interpret footage - preserve RGB. and it looks fine. he explains further that even if it was multipass it would go ok. so I am not sure what I am doing wrong, because when I apply the Acescg->rec709 on top of this linear comp, I get a slightly reduced exposure gamma. what transform should I apply to this linear workspace comp to make it behave properly under Acescg->Rec709?

here’s the comp out of the box looks the scopes show the proper signal

here it is placed under an adjustment layer Acescg->Rec709 and a gamma fix (this is explained in zak’s tutorial)

@Shebbe you have been most helpful, maybe you could also tackle this one.

here’s the project for anyone who want’s to experiment. it’s with just the linear CGI, but imagine there are multiple assets in there from various sources so I need them all to be under this adjustment layer setup.

is the project set as it should be?
is the shift I am getting normal and I should adjust it with color correction or is there some transform I should put on the linear comp to compensate for the acescg transform later on? (I tried set the OCIO to utility-linear-srgb to Acescg - but the results are worse than not doing anything)


Hey @yooofi

The answer is pretty simple I think. Using ACES to transform data to display (everything in the Output category) includes a tonemapper. This RRT or Reference Rendering Transform is designed to transform the image to given output as best as possible trying to match how we would perceive it in the real world.
If you compare that versus only changing the gamma from linear to 2.4 there will be a difference.

The reason exposure boosts look so much like exposing a camera is due to this tonemapping part compressing the higher values in the best way it can for given display.

I assume you were viewing your renders in C4D without the ACES RRT+ODT but the “default” linear workflow viewing either srgb or rec709. This is why it’s not the same.

The other part that was incorrect was that you’re going from ACEScg to Output. But I assume your renders aren’t ACEScg but rather Linear - sRGB. AE says the embedded space is Linear Color Space but that doesn’t mean anything, just linear gamma. I guess rendering to .png’s is a bit weird in that regard.

A friend of mine actually just finished a project where he couldn’t use ACES fully yet (render in ACES) but he customized Blender’s OCIO config with the ACES view transform to go from linsrgb to srgb in his render viewer as well as his finishing pipeline so he knew what the result was going to be and based his lighting decisions on that.

Maybe it’s worth checking out this excellent seminar by @daniele where he talks about how and why this works in ACES and other management workflows.

To summarize. If you want ACES for the tonemapping, use that tonemapping in renderview too so have a match. I don’t think C4D supports OCIO natively but a renderer like Redshift does. If you only need ACES in comp to convert from one space to the other but not to output display you can just use it as a tool inside AE and use the normal linear workflow part of AE for getting to display.

1 Like

thanks @Shebbe, will watch that seminar. I was able to understand most of what you wrote but the last part. as a compositor that needs all footage to match, and especially the CGI stuff to match the original color, what exactly do I need to do in this workflow where I want to composite CGI rendered in linear-srgb (not aces) in the mix of all my assets, in aces workflow? should I apply something to it? color grade it to match? or maybe exclude of it as a separate procedure not included in the IDT-ODT sandwich and composited separately (this seems like a problem if I want effects to work on both)

That is indeed a consideration you have to make in a project.
Where it gets tricky is if you have to deal with client colors that need to have a very good match. I recently did a project where we were placing product packages in Arri footage and we ended up just rendering in linsrgb and placed it on top of the final grade only matching exposure afterwards. The reason was that the RRT was shifting the client colors too much and even if we didn’t use the RRT+ODT but went back to Arri log the resulting grade would also create too much deviations.

In the context where you’d render entire scenes with complex lighting and are not that restricted to nail specific colors it can be a lot more beneficial to use ACES as ODT because it gives nicer tonemapping than most integrated in renders or having to use funky stuff like HDR Highlight compression in AE.
With proper passes it’s also still quite easy to tune colors in comp where needed ofcourse.

Again if you really want to use that hybrid workflow you have to know how you are rendering when it’s going from linsrgb into the ACES RRT+ODT so the use of OCIO in your render view is just mandatory.

If you’re interested, here is the Blender filmic config with the ACES srgb output injected in it. This is not at all something official. I created this with that friend of mine for his specific needs and is purely to know how his standard linear srgb render would translate through ACES.

1 Like

Thanks, I think I got it. how do I use and why?

Sorry if I wasn’t explained clear enough.
That OCIO config would allow you to use it in C4D provided you would use a renderer that supports OCIO. The Blender Filmic config is something similar as ACES for CGI but allows you to render normally with using sRGB textures and codevalues. It has a ‘filmic’ tonemapper with the same purpose as ACES RRT to compress the high dynamic range in to a pleasing image.
What has been added in my config is the ACES RRT for sRGB to be used instead of the filmic look. This is basically the same as the ACES config set as Linear - sRGB → Output sRGB.

By using this as the config for your rendering you will have the same result as what you end up seeing in After Effects without the full ACEScg rendering pipeline. Just the tonemapping.

I don’t know what your renderer of choice is but this doesn’t work if you have one that doesn’t support OCIO. I hope this explains it more clearly!

1 Like

after further discussion with @Jacob (he made one of the first Aces Ae tutorials out there) there’s a different workflow for this. tell me what you think @Shebbe.

basically using this workflow:

which means I need to put on my linear sRGB assets an OCIO (if multipass then on the relevant passes with color information) linear sRGB->Acescg.

then I will make an ODT adj layer above all the composites with Acescg->linear sRGB and now the rocket look exactly like the original. so guess that’s my RRT?. now I know it looks right under the right color space conditions, and for an ODT I can replace it with the usual setup with a replacement of adjustment layer with Acescg->Log + LUT + GAMMAFIX, and use whatever export I need… if I would need anything “critical” I would have to place it outside, but for things that are supposed to be composited with each other I think this could work.

I made a template of a project to make sure I am doing this right. in here are all the main scenarios I think are common in a project. frame of each: arri, sony, psd photo, another one, and muiltipass one frame sequence. please have a look see tell me if this looks correct to you

the RRT is for viewing how linear sRGB would look to make sure it’s right. turn it off and turn on all three adj layer to get the LUT look. leave just Acescg->Log and gammfix get a LOG export:

more in this setup, a lumetri effect for color corrections between a sandwich of acescct for a predictable color corrections. all of this is just for educational purposes (mostly myself but when I get this right in the field I will make this available for others).


Took me a moment to understand what you did haha.

“RRT Aces->Lin” this adjustment layer is wrong terminology. The ACES RRT is really only something that happens with one of the display output transforms of ACES.
Both ACEScg and Linear sRGB have linear gamma so saying you’re going to linear is also a bit weird.
I would just call it ACEScg->linsRGB_reference or something.

But yes, that layer does work to check if the renders are the same as what they were in 3D because going from linsrgb to acescg and back again is basically a non-operation.

If your intention is to comp everything together and output to log there is no RRT involved at all. But it could still be if your colorist would use ACES instead of a ‘standard’ log to rec.709 conversion lut or other means. Then instead of the LUT layer you would place a AWG/LogC to Output rec709 OCIO there as a guide/reference layer.

The rest of the setup looks fine to me :slight_smile:

1 Like

thanks for checking it out and your feedback. till next time :slight_smile:

1 Like