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.
AOV Stores expose the following attributes:
|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.
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.
Actual names of AOVs are names of image buffers specified in Output and Output Variance.
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
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
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
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