Secondary Outputs (AOVs)

Secondary Outputs (AOVs)

  • Note

    This page is subject to further updates.

Another feature of RenderMan for Maya is the ability to generate secondary outputs (also called Arbitrary Output Variables, or AOVs). While rendering, RenderMan for Maya can output additional data (specular highlights, reflections, shadows, etc.) into separate image files, called secondary outputs. These outputs are not rendered in multiple passes, but are created at the same time the main image is being rendered

Secondary outputs are useful for compositing. It can be more efficient to adjust certain effects in compositing (such as tweaking specularity) than rendering the image over and over again. Secondary outputs can also be used to create special effects. RenderMan for Maya provides controls to generate exactly the kinds of secondary outputs required.

For more information about workflow associated with creating secondary outputs refer to the AOV documentation and the Shadow/Reflection Collector Tutorial. The tutorial covers how to set up and a specific type of AOVs in Maya for certain compositing workflows.


About Outputs

Here is a list of shadingmodel outputs. These additive terms are required to reconstruct the beauty render. They all must be passed through layering operations.

Ambient

The total contribution from ambient light sources

Backscattering

Total contribution of backscattering effects

DiffuseDirect

Unoccluded diffuse response to direct lights

DiffuseDirectShadow

Diffuse response that is shadowed (subtract this from DiffuseDirect)

DiffuseEnvironment

Diffuse response from environments

DiffuseIndirect

Diffuse response reflected from other objects

Incandescence

Total contribution of incandescent effects

Refraction

Total contribution of refraction effects

Rim

Total contribution of rim effect

SpecularDirect

Specular response from direct lights

SpecularDirectShadow

Specular response that is shadowed, subtract this from SpecularDirect

SpecularEnvironment

(Unoccluded) specular response from environments

SpecularIndirect

Specular light reflected from other objects (coherent reflections)

Subsurface

Total contribution of subsurface scattering

Translucence

Total contribution of cheap/thin translucence

The recipe for compositing your beauty image is a simple additive process using these outputs:

result = SpecularDirect - SpecularDirectShadow + SpecularIndirect +
  SpecularEnvironment + Ambient +
  DiffuseDirect + Translucence - DiffuseDirectShadow +
  DiffuseIndirect + DiffuseEnvironment + Backscattering +
  Subsurface + Rim + Refraction + Incandescence

Additionally, there are "ancillary outputs" that are not used to create the beauty render but can be useful for other compositing tasks:

SpecularColor

Color used to scale specular illumination

DiffuseColor

Color used to scale ambient and diffuse illumination

OcclusionDirect

Occlusion of direct illumination (shadows)

OcclusionIndirect

Occlusion of indirect (ambient) illumination

N

The unnormalized shading normal at the shading point in Camera Space. For visualizing in rgb space, N must be normalized.

Ng

The unnormalized geometric normal at the shading point in Camera Space. For visualizing in rgb space, Ng must be normalized. Ng is the actual normal of the surface, while N is the normal used for shading. If there is anything perturbing the normal for shading these will be different.

P

The coordinates for the surface point in camera space.

s, and t

The 2D texturing coordinates at P. These are by default u and v, but can be overridden.

u, and v

The 2D texturing coordinates at P.

Cs and Os

The color and opacity of the surface before shading.

Ci and Oi

The output color and opacity of the surface after the shader runs.

a

The alpha at the surface point.

dPdtime

Derivative of P in time. Simply put, this outputs the velocity vector.

__CPUtime

The total shader runtime for the shading grid that the point is on. This is very useful for optimizing shading time for a scene.

Deep Image Outputs

Support for deep image outputs was added in PRMan 16. RfM Pro 4.0.3 and higher can generate deep image outputs via an external RenderMan Pro Server 16 (or higher). These are the steps necessary to create a deep image output:

  1. Via the Outputs tab for your Final pass, create a new output consisting of Ci and a (go to Add Channels/Outputs, shift + select Ci and a, then right-click and choose Create One Output from Channels).
  2. Set the Image Format for your new output to DeepImage (.dtex).
  3. Add the optional Deep Image subimage attribute via Add/Remove Settings.

If desired, you can disable the primary output.

For more information about deep image outputs, please consult the RenderMan Pro Server 16 documentation.