Quick Introduction

In RenderMan, in addition to the built-in AOVs , LPE, which is adopted from Open Shading Language's Light Path Expression, specifies what light transport paths to output to a display channel. In other words, we don't have to modify the shaders or plugins to output a custom AOV that uses the LPE.

The setup is the same as an AOV except we use a light path expression instead of an AOV channel name. We can also use a short descriptive name (e.g. lpe:diffuse) as well as the long LPE expression (e.g. lpe:CD<L.>).

Additionally, we can group the outputs by light groups and/or by geometry set up by a lpegroup.

Usage

LPE is made up of tokens which are not artist-friendly. For this reason, we provide a list of built-in LPEs with short descriptive names and hide the non-artist friendly expressions.

RenderMan for Maya

In RfM, LPE can be easily added by right click on a LPE name from the built-in LPEs list in RenderMan Controls' Add Channels/Outputs.

RenderMan for Katana

In RfK, LPE is specified via PrmanOutputChannelDefine. For a list of built-in LPE names, please see the Built-in LPEs table.

RIB

For DisplayChannel, we can use either the short name or long expression, e.g. lpe:diffuse or lpe:CD<L.>.

DisplayChannel "color lpe:diffuse"

or

DisplayChannel "color lpe:CD<L.>"
 

 Built-in LPEs
NameExpression
lpe:diffuselpe:CD<L.>
lpe:specularlpe:CS<L.>
lpe:emissionlpe:CO
lpe:indirectdiffuselpe:(C<RD>[DS]+<L.>)|(C<RD>[DS]*O)
lpe:indirectspecularlpe:(C<RS>[DS]+<L.>)|(C<RS>[DS]*O)
lpe:subsurfacelpe:(C<TD>[DS]+<L.>)|(C<TD>[DS]*O)
lpe:refractionlpe:(C<T[S]>[DS]+<L.>)|(C<T[S]>[DS]*O)
lpe:shadowcollectorlpe:shadows;C[<.D'collector'><.S'collector'>]<L.>
lpe:reflectioncollectorlpe:C<RS'collector'>([DS]+<L.>)|([DS]*O)

 

lpe:shadowcollector collects shadow for objects that have a lpegroup called "collector".

lpe:reflection collects reflection for objects that have a lpegroup called "collector".

Note that these expressions are both disjoint and exhaustive; any individual light path will match exactly one of them. As a result, rendering out all nine of them and then compositing them together will produce the equivalent of the beauty image.

Caustics are not included in the built-in list because they overlap with lpe:indirectdiffuse. However, you can select caustics with the expression lpe:CD[S]+<L.>

 

LPE Outputs