How do I manually combine all passes?

Hi guys

I’m working on a multi-pass denoising node group for Blender 3. It’s basically denoising all the light passes separately and then combining them with the right operators. It achieves more detailed results than regularly denoising the combined pass, but just takes a little more time to compute on the cpu.

Sadly I can’t find any proper information on how to combine the AO pass. Any help is appreciated. It would also be nice to have an overview of all operators and order required to combine all passes.

I did find this in the documentation, but it’s outdated and I’m not sure how to apply it in my case.

I believe you simply multiply the ao pass on top of everything else.

I thought so too at first, but that produces darker results than the original combined pass.

Top: Noisy combined pass.
Middle: Multi-pass denoised with AO pass multiplied.
Bottom: Multi-pass denoised without AO pass.


I dont think the ao pass is part of the regular beauty pass. It is there to tweak the result and you usually do that by multypling it.

Interesting. How do you explain the interior brightness difference then? The combined (beauty as you call it) pass is clearly brighter in the interior part than my manual combined result. It’s clearly just the AO that’s missing in the latter.

It is really long ago that i have done this the last time but I believe you are supposed to add the “dif dir” to the “dif ind” first and then multiply it with the “dif col”.
Same for glossy and transmission:

Here is the part in the manual (Blender 3.0) with a diagram:

EDIT: I just noticed that your link above is a link on how to set up the render passes for Blender Internal render engine in Blender 2.79.
Apparently that is the problem. Cycles requires a different setup than Blender Internal.

Yeah that part I had down (the picture of the nodes in the first post kinda shows this). It’s just the AO pass that I can’t seem to figure out.

AO is a utility pass for additional compositing purposes. Compositing Mentor is creating a in-depth series about CG compositing, you should take a look.

1 Like

Thanks, very informative!

Seems like every tutorial I have come across doesn’t explain how to rebuild the beauty pass with AO. Wish there was some kind of documentation about it. Would it be misplaced if I asked this on the dev forum?

AO is not part of beauty pass. It’s used to increase cavity visibility in your scenes, in some cases can also be used as a mask in your shader and compositing software. That scene you built is missing emission and transmission data. If you have lights you will need emissions, if you have transparency objects you will need transmission and if for some purpose part of HDRi or background is shown you will need environment. Render with all passes on to test and study.

1 Like

As for the difference between “Noisy combined” and “Multipass without AO”:

As a test, try rendering a “Noisy combined” with a lot more samples. Perhaps the noise makes it look brighter than it actually is.

Understood. So how can I get AO/GI (don’t know what to call it anymore) in my rebuild comp?

I did some more tests on a simpler scene. No transparency, emission or volume, no denoising, sufficient samples. Something odd is going on.


This is how you rebuild your beauty:

This is how you output to other softwares. In this case it’s a single file per frame in EXR multilayer. You will have to check manually which pass need denoising.

This is how you use it, but it’s completely optional. If you need as a mask, invert it’s colors.

That Fast GI will give you poor results, it’s just for interactive viewport.

Thank you, yes, that is what I did above. My question is in regards to Fast GI. It is used often to brighten interiors without having to set the sample count too high. It might be less realistic, but it is, as the name dictates, much faster.

Right, yet rebuilding your passes will remain the same. Global illumination it’s all bounces after rays hits an object. If you are using Fast GI option, all your indirect light (bounces) will be calculate using an alternative equation for faster view interactivity. Disney have a very good video explaining path tracing if you’re interested.

There are some notes in Cycles dev website about Fast GI:

Thank you for taking the time to answer. I’m acquainted with the principles of path tracing.

As demonstrated above, using the same rebuilding process, results are vastly different when AO is used. The resulting direct and indirect bounces (not shown above) are a lot darker. This is why the rebuild composite is also darker (shown above) yet the combined pass is a lot brighter, due to some as of yet unknown reason. I want to know where this difference comes from and how to properly recreate the combined pass.

Combined output from render layers node doesn’t have AO pass multiplied, you’re comparing a raw image with an AO multiplied by 1. If you apply AO in both, result will be same. It’s an aditional pass for compositing.

Do you have fast GI enabled here?


I believe it’s a bug related to this. If you set the method to “Replace”, everything is ok (beauty pass, noisy image and multipass image) but if you set it to “Add”, noisy and beauty pass are the same but not the multipass reconstruction.
If you modify the bounces in the “Replace” method, it will affect the lighting in “Add”.


Very interesting, thanks!

I was under the impression that the add method was equivalent to 2.93’s AO in the world panel, is that not correct? The replace method is definitely interesting and I wonder how it actually works and what bounces I need to get what kind of results. I have some research to do.