Page tree

Versions Compared

Key

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

...

Now you can output whatever you need based on light groups!

Per Object LPE

You can also render specific objects and effects. This is similar to the light groups but this is often found on a transform of an object, this LPE group tags these objects or collections for separation.

Imagine you have a particular thing you're trying to capture, you can do that with an LPE. You notice that in all the LPE we've been writing it looks like it can be done in 3 parts:

Code Block
[What I'm Rendering] [Light Bounce Paths] [Lights I'm Using]

So now let's render something specific. In the Cornell Box example we have a tall subsurface scatter rectangle in the back. I'll render it by itself.

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




Shorthand
lpe:C<..'scatterCube'>.*[<L.>O]

What I'm rendering is the tall rectangle and all the light that lands on it.

Image AddedImage Added

Now, let's render it and only the influence of light off the green wall to the right.

Code Block
lpe:C<[RT][DS]'scatterCube'>+<[RT][DS]'rightWall'>[<L.>O]


Shorthand
lpe:C<..'scatterCube'>+<..'rightWall'>[<L.>O]

So we're rendering the same cube but this time the light path has to exclusively include all the light bouncing off of and through the rightWall object. So our result is a very green object since we captured just the green wall's bounce light. You can see now how to separate light paths to get what you need to adjust for later compositing. I'm rendering the tall rectangle and all the light that lands on it after leaving the green wall.

Image AddedImage Added

The Importance of Naming

Naming your channels is important not just for pipeline reasons and readability, but because the Denoiser utility requires that you follow a naming convention in order to be denoised. Since the tool isn't psychic, it needs a hint as to what is inside the framebuffer/AOV and it uses the name to decide this. There are two main ways the Denoiser filters results, and the way triggered by a "diffuse" keyword is that the albedo is divided out before denoising happens, this is done to prevent texture smearing. So when naming your AOVs, keep that in mind knowing that you'll most likely want your results to be denoised. Below are the acceptable prefixes given again.


The pass images can be named anything else, but must have color channels named/prefixed as one of:

  • diffuse
  • specular
  • directdiffuse
  • directspecular
  • directDiffuse
  • directSpecular
  • indirectdiffuse
  • indirectspecular
  • indirectDiffuse
  • indirectSpecular