Skip to content

AOV Store#

Custom AOVs are defined using an AOV Store which allows you to export the result of a sub network of texture nodes as AOV. AOV Stores are only used to declare new AOVs to the raytracer.

Outputting AOVs is still achieved the same way you would for built-in AOVs using either the AOV Editor or the AOV Set.

Overview#

AOV Stores expose the following attributes:

Attribute Description
Input Define the result that is stored in the image buffer specified in Output.
Output Define the image buffer used to store the result of Input.
Export Variance Enable variance computation on the AOV which is stored in the image buffer specified in Output Variance.
Output Variance Define the image buffer used to store the result of the variance.

In this simple example the material defines two new AOVs: world position and diffuse color.

In this simple example the material defines two new AOVs world position and diffuse color

Tip

If you wish to export geometric information such as world position, normal etc... Please refer to Utility texture section

AOV Stores can also be assigned directly at the Layer Scene level using the Arbitrary Output Variables attribute list or plugged to the AOV Set using the Global AOV Stores attribute. This way you can quickly output scene-wide AOVs without the need of plugging AOV Stores to all the materials of your scene.

This can be very useful to create an ambient occlusion pass, for example, since you just need to create an AOV Store connected to a Occlusion texture to finally connect it to a Layer 3d or an AOV Set.

Note

Actual names of AOVs are names of image buffers specified in Output and Output Variance.

Examples#

Here are a couple of examples showing how to use AOV Stores.

Creating an Ambient Occlusion AOV#

Create a new image buffer ambient_occlusion using Image > Edit Image Buffers... or Ctrl+L.

Then create an AOV Store and a Occlusion texture.

Connect the Occlusion texture to the Input attribute of the AOV Store and set Output attribute to ambient_occlusion.

In a Layer 3D, add the AOV Store you've created to its Arbitrary Output Variables attribute. Finally, open the AOV Editor and double-click on ambient_occlusion image buffer in the left list.

Creating a Z Depth AOV#

Create a new image buffer my_z_depth. Then create an AOV Store and a Utility texture node with its Output set to Z Depth.

Connect the Utility node to the Input attribute of the AOV Store and set Output to my_z_depth.

Connect the AOV Store to the Arbitrary Output Variables attribute of the Layer 3d to output the Z Depth for the entire scene. Finally, use the AOV Editor to output my_z_depth.

Variance#

It is possible to output the variance of an AOV Store. This is a very useful since variance AOVs can be used as input of some external denoisers to improve their results.

To output the variance of an AOV you need to set Output Variance to your custom image buffer and Enable Output Variance.

Note that it is not possible to output the AOV variance without outputting the AOV itself.

Example: Outputting Z Depth Variance as AOV#

To export Z Depth variance of our image. Create a new image buffer my_z_depth_variance. On the AOV Store, set Output Variance to my_z_depth_variance and Enable Output Variance. Finally use the AOV Editor to output my_z_depth_variance.