The Layer 3d gives you the ability to output arbitrary variables (AOVs). Basically, you can output many information gathered during rendering or any texture (or a texture sub graph in your material) result into a custom image buffer stored in your renders.
AOVs are extremely useful since they allow to easily create separate passes, generate masks that can be used for compositing or simply debugging/diagnostic information. AOVs are managed at the layer scene level using the AOV Editor or at the Render Scene level using AOV Sets.
There are 2 types of AOVs in Clarisse:
- Built-in AOVs which are automatically declared by the raytracer, materials or subpixel filters such as the Cryptomatte.
- Custom AOVs that are AOVs created by the user using AOV Store or Light Path Expressions. The AOV Store node allows you to output the result of a texture network at the material level or at the 3D Layer. The Light Path Expression node on the other hand allows you to extract rendering information directly from the path tracer.
AOVs in Clarisse are always associated to an image buffer which is a named float or int buffer grouping a maximum of 4 channels. Image buffers are created and managed using the Image Buffer Editor and by default, Clarisse provides many built-in image buffers such
depth.z used to store its built-in AOVs.
Definition of custom image buffers is saved in the project/build file and is automatically loaded back when referencing a project defining custom image buffers. This behavior can be changed in Edit > Preferences.. > Projects > Import AOVs
Bypassing AOV Output#
By default the raytracer outputs all the AOVs defined by the user. However, it is possible to bypass AOV output:
- at material level by disabling Export AOVs. This bypasses any AOV exported by that specific material (defined in AOV Stores or auto declared by the material).
- at the raytracer level by disabling Export AOVs
- at Layer 3d level by disabling Export Shading AOVs
If you are using the build assembly workflow, you simply have to disable or disconnect the AOV Set node(s) from the Render Scene to disable AOV output.
Outputting AOVs to disk#
By default, Clarisse directly writes AOVs in the output file when the format supports AOVs. This is why we always recommend to choose OpenEXR as output format since it supports AOVs.
When the format doesn't support AOVs, such as
PNG for example, Clarisse only outputs the beauty/RGBA. To force Clarisse to write render AOVs you must go to Edit > Preferences... > Input Output and check
Output Aovs In All Format. When enabled Clarisse outputs companion image files for each AOV that are named after:
It is possible to force Clarisse to output AOVs in multiple files instead of saving them in a single one. Go to Edit > Preferences... > Input Output and check
Split Aovs in Separate Files. When enabled Clarisse outputs companion image files for each AOV. Clarisse will automatically append an underscore followed by the name of the AOV. For example, if when you output 2 AOVs world_normal and albedo you will get the following 3 files:
my_render.1001.exr my_render_albedo.1001.exr my_render_world_normal.1001.exr