RGBA (beauty) AOV
This tutorial is a beginner's guide to using AOVs for use in compositing. It should be noted that the AOVs required depends on the specific requirements of the compositor and how they will use these AOVs. It is therefore recommended to clarify which AOVs are required before rendering them out. If you are new to render passes (AOVs) you may wonder which AOVs are required to compose the final render. It all depends on various factors, and specifically on the materials and light set-up, what components you used in the shaders and what you need to do with the final image. However, sometimes the Beauty render is enough.
Composing the Beauty AOV
The RGBA beauty AOV can be split into smaller AOVs where each contains part of the lighting. In compositing, these AOVs can then be individually modified and added together to get the full beauty AOV. More AOVs give more control in compositing, but also extra work to handle, and they take up more memory and disk space, especially combined with light groups.
Some example sets of additive AOVs for the full beauty AOV are:
- direct, indirect, emission, background.
- diffuse, specular, coat, transmission, sss, volume, emission, background.
- diffuse_direct, diffuse_indirect, specular_direct, specular_indirect, coat, transmission, sss, volume, emission, background.
Simply adding together such AOVs is all that is needed for the beauty AOV.
Standard Surface AOVs
For example, let's see how the standard_surface shader is composed and which AOVs there are. The first thing to consider is the sections below because they can be separated into different AOVs.
This is what we see when we look at the list of AOVs. We can see all of the above components in the AOV list, however, there are more AOVs other than what is in the standard_surface shader.
List of AOVs available in Channel Definitions
We can see some components are broken down into four AOVs, for example with coat, there are coat_albedo, coat_direct, and coat_indirect. In addition, there are also a couple of direct and indirect AOVs and there are no base AOVs, however, there are diffuse AOVs. The Standard Surface simulates a physically-based shader and so the diffuse parameters are named base. Then we have diffuse, specular, sss, coat, sheen as well as other AOVs. These AOVs can be used to build the final image in a compositing software package. The AOV with the _albedo index is the pure color of our component. The texture (flat color) is given to the color parameter of the shader.
Direct and Indirect AOVs
Now onto what the _direct and _indirect AOVs do. When combined together, they basically do the same thing as the diffuse AOV but separated into their light components. Whereas direct is direct rays from the light source, and indirectly reflects rays from geometry when direct rays hit them (the ray depth parameter controls how many times this ray bounce occurs). Below is a simple example:
1: direct rays come from the light source. 2: indirect rays bouncing from the surface.
Now, if we composite diffuse_direct + diffuse_indirect, we get exactly the same result as in the diffuse AOV. The same applies to the other AOVs in the standard_surface shader.
diffuse_direct + diffuse_indirect = diffuse AOV
Beauty (RGBA) AOV
As for the ordinary direct and indirect passes, this is the RGBA (beauty) render, only expanded into direct and indirect rays. The RGBA contains the fully rendered image containing all of the material and light settings.
direct + indirect = RGBA (beauty) AOV
Now, after we have learned how the shader works, we can proceed to the next stage, and specifically determine which AOVs are required to composite the image. In brief:
- None. The Beauty (RGBA) render is enough for us, that is when everything is well-tuned and no corrections in compositing are required.
RGBA (beauty) AOV
- The second method can be the component AOVs: diffuse, specular, emission, etc., depending on which attributes we used in the shader. This is when some tweaks can be carried out using color correction and exposure with any of the AOVs.
- The latter method is to separate the render into component AOVs, taking into account _direct and _indirect. This is used when a lot of control over compositing the renderer is required, including color correction, denoising, etc.
- The albedo AOVs are not needed to reconstruct the beauty AOV but may be used for example to get just the RAW lighting without the surface texture, by dividing diffuse by diffuse_albedo, or for denoising just the lighting while keeping the color texture detail intact.
The fresnel in the diffuse_albedo is a result of the specular_IOR and how it affects the albedo of the diffuse to make it energy efficient. So with no specular, there would be no fresnel on the diffuse_albedo, as all the energy would be in the diffuse.
- In addition to the beauty AOVs, more technical utility AOVs can also be used such as ID masks, which allow you to select and perform manipulations on a specific object in a large scene.
RGB ID mask used for selecting objects in composite
Other examples that utility AOVs can be used for include:
- motionVector (Velocity): for correcting values of motion blur.
- Z: depth channel, used for defocus, or for faking mist/fog.
- Р & N: for simple relighting of objects.
- albedo: can be used for safe information after denoising.
- cryptomatte: automatic material ID mask, object mask, assets mask (needs to be installed for your compositing tool).
Thanks to Slava Sych for the assistance with this tutorial.