Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Allow for additive compositing, preserving the physical nature of the image and avoiding artifacts through multiplication or division in post processing.
  • Output a specific bounce of light (2nd, 3rd, etc.) or even a range of bounces (4th to 8th bounce of light). You can use this to isolate effects or even noisy bounces for subtraction.
  • Output a specific object to an LPE. While you can use Cryptomatte to isolate objects with an ID, you can also output the object or collection of objects and their contribution separately.
  • Isolate a particular noisy light path for subtraction in comp or an LPE without these light paths to composite.
  • Create a non-physical effect like differently colored caustics from their source, change the color cast of an object, or scale lighting.
  • Output per-light AOVs for manipulation later.
Note

Note that trace sets can also be used to accomplish some of these effects but since trace sets are global in the render, LPE will obey these trace sets (meaning data that would have been collected otherwise is restricted by the trace set).

Light Path Expressions handle light transport, as such they collect illumination by default and not shadows (shadows are simply a lack of light) A specialized Shadow LPE is provided for compositing tasks as part of our Holdout workflow. Since these follow the physics of light, your LPE will use addition (plus) and subtraction (minus) as adjustments in compositing. This avoids artifacts introduced by multiplication and division that should happen at the sample level, not on final pixels.

 

LPE, Cryptomatte, and Trace Sets should improve the flexibility of your pipeline and when managed correctly, avoid expensive re-rendering for artistic tweaks.

...

Carousel Image Slider
stretchfalse
dotsfalse
infinitefalse
arrowsfalse
labelsFilterlpespec
gutterSize0
slidesToScroll0
captionstrue

 

Now that we have some understanding of the main components, let's begin by looking at the parts used to organize an LPE

Defining Events and Types

Angle Brackets

< > are used to choose/define a single event. For example, when deciding I want a specular reflection event, I can say <RS> for a reflective specular event. I cannot create an event that is either/or, meaning I can't say <RT> because that's two different kinds of events (reflection and transmission). Instead it must be a single event and type. You can also put these in order to collect a light path in a specific order, such as <RS ><TD > as to say "one reflective specular event and then a transmissive diffuse event next".

Square Brackets

[ ] are used to define events of either/or. So in the example above I could say [RT] meaning one Reflection or Transmission type and [DS] which means Diffuse or Specular event. This is pretty common when you need to collect light along a path with many different possibilities.

Parenthesis

 

 

The Beauty Render

Let's look at an expanded beauty LPE. And by "expanded" I mean with all the parts spelled out and not in shorthand (which we'll cover later).

Code Block
lpe:C[<RT>DS]*[<L.>O]