This is RenderMan 21 Documentation you are viewing. The Rmanwiki home page will redirect you to the current documentation.

Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


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.


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.


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

DisplayChannel "color lpe:diffuse"


DisplayChannel "color lpe:CD<L.>"


Built-in LPEs


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