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:
- 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).
- Set the Image Format for your new output to DeepImage (.dtex).
- 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.