To better understand how an LPE is constructed, the below tokens are used to define interactions. For most users, the pre-built LPE are easily selected and explained below.
<type event 'group'>
|Scattering event specified by scattering type, scattering event, or lpe group|
|Light, i.e. analytic and geometric lights|
|Emissive object, i.e. camera visible lights and material glow|
|Match A period will match any relevant LPE event|
|Transmission or refraction|
|Diffuse lobes (D1 to D4)|
|Specular/Glossy lobes (S1 to S8)|
|User lobes used to output material properties (U1 to U12)|
|( )||Parentheses allow grouping of a sequence of LPE events|
||||A vertical bar separates alternatives|
|[ ]||Square brackets will that match any one of the enclosed LPE events|
|Match Square brackets that match any one LPE event that is not contained within the brackets|
|Match An asterisk will match the preceding event zero or more times|
|Match A plus sign will match the preceding event one or more times|
|Match Curly brackets that match the preceding event exactly n times|
|Match Curly brackets that match the preceding event min or more times|
|Match Curly brackets that match the preceding event at least min, but not more than max times.|
To specify an LPE in RIB, reference a DisplayChannel in the Display. This is the most basic way to view what's being output.
|Carousel Image Slider|
Caustics are not included in the built-in list because they overlap with
indirectdiffuse lpe:C<RD>[DS]+[<L.>O] However, you can select caustics with the expression
lpe:CDS+[<L.>O] Below you can find an example of the caustics LPE output, Indirect Diffuse, and the difference between them. Note that the Caustics LPE output doesn't capture indirect lighting from object to object, in this case the red cube. You can create the image on the far right with the indirect diffuse minus the caustic result using the following source:
|Carousel Image Slider|
An LPE group (lpegroup) allows us to specify which objects we want to be use for an LPE channel. The attributes can be added in RenderMan plugins using the software's menu system such as PrmanObjectSettings in Katana.
unoccluded– returns unoccluded or unshadowed result.
noclamp– returns unclamped result.
nothruput– does not apply thruput (thruput is the accumulative albedo of the objects hit by rays).
shadows– returns collected shadows.
holdouts – holdout LPE that directs the LPE output to the beauty channel.returns only holdout light paths (light paths with one or more holdout events)
overwrite– instead of outputting the accumulated result, overwrite it. One example of using this is for the albedo output where we do not want an accumulated result.
noinfinitecheck– do not do any infinite check.
- In the documentation examples we often use <L.> means Light scattering type with all scattering events. For light group AOVs, using <L.> is required instead in place of L. There's no functional difference.
- lpe:CD<L.> means camera with diffuse scattering event for light scattering type.
- lpe:CO means camera with emissive objection (since emissive does not need any light, there is no L).