Setting up AOVs

This tutorial is a quick look at setting up AOVs in Solaris.

The file used in this tutorial is available here.

Note:

For a beginner tutorial on setting up shaders, lights, and importing scenes, see the working with Solaris tutorial.

LOP Introduction

We are going to use three different LOPs to set up AOVs:

Render Var

Render Vars can be used to tell Arnold what to write into each viewport or OpenEXR layer, and how to filter that AOV. They are roughly equivalent to an AOV definition and filter node.  When previewing the AOVs in the viewport, we can select which AOV to preview by using the Viewing output button on the right side of the viewport and choosing the preferred layer to preview.

Note:

You can read more about Render Vars here.

Render Product

Render Products can be used to collect multiple Render Vars for rendering. They are roughly equivalent to an Arnold Driver with multiple AOV inputs. The main difference is that each Render Product can have its own camera, resolution, data window, pixel aspect, and shutter parameter.

Note:

You can read more about Render Products here.

Render Settings

Render Settings can be used to collect multiple Render Products for rendering and setting up global attributes for Arnold. They are roughly equivalent to the Arnold Options node. A scene can contain multiple Render Settings. Switching between Render Settings for the viewport can be done via the UI controls in the upper right corner of the viewport. (Middle Icon -> Render Settings -> Preferred Render Setting).

Single AOV example

In this example, we set up a single color AOV for previewing.

Basic Color

First, let's set up the Render Var.

Basic Product

The next step is to configure the Render Product, so we can collect all the Render Vars required.

Basic Render Settings

The last step is to set up a Render Settings LOP. If this is the only Render Settings in our scene, it'll be automatically used for the viewport; otherwise, we have to select it for previewing.

Multiple AOV example

In this example, we set up multiple AOVs for previewing. We will look at different ways to set up filters and AOVs for each Render Var. It's important to note that each Render Var has to have a unique Name parameter per Render Setting.

Beauty with a Triangle Filter

First, let's set up beauty with alpha and a triangle filter.

Diffuse Direct with a Closest Filter

Next, let's create a direct_diffuse AOV with the closest filter.

Diffuse Direct with a Heatmap Filter

Next, let's use diffuse_direct again, but with a Heatmap filter. Solaris allows users to use the same AOV, but with different filters. Each AOV will be available using its unique Name parameter, either in the viewport or in an OpenEXR file.

Diffuse Indirect Light Path Expression with a Gaussian Filter

Next, let's create an AOV using a Light Path Expression with a stronger gaussian_filter.

Note:

You can read more about Light Path Expressions here.

Display Color Primvar with an empty Filter tab

Next, let's display a primvars set on shapes. This allows us to render primvars (user data in Arnold) from any shape, or black if the primvar does not exist.

Render Product

Next, we are creating a Render Product to collect all the AOVs previously set.

Render Setting

The last step is to create a Render Setting node. Once this is done, make sure this Render Setting is selected for the viewport if multiple Render Settings exist. Once this setup is complete, and the Render Setting is selected for the viewport, you can preview any of the Render Vars set on the Render Product.