Monthly Archives: December 2012

Light Path Expressions and mental ray 3.11 shaders

iray 3.0 includes the ability to use Light Path Expressions (LPE) to separate different elements of your render. The iray blog has a simple explanation here: iray LPE

Additionally, the layering library of shaders coming for mental ray 3.11 (and future beta testing) will allow the specification of framebuffers using relevant LPE. This continues the bridge from the older style of rendering to newer methods with a flexible set of layerable components.

Many modern renderers use light transport to render the scene. This is a path from the light to the eye in this case. Light is transported (traced) along this path and stored in the framebuffer. LPE allows you to selectively isolate effects and paths using an expression that is consistent across renderers (the expression means the same thing regardless of render engine). This isn’t a new idea and has been around for some time, but few products have used it. Of course the trick will be exposing this in a useful way for most users and non-technical artists. But the concept of what you are getting from the renderer is much clearer in this case and more exact.

You can think of a few different (simple) interactions such as:

  • Diffuse – Reflection or Transmission (translucency), and it can be direct or indirect
  • Glossy – Reflection or Transmission, also can be direct or indirect
  • Specular – Reflection or Transmission, this is a mirror (reflection) and is usually treated as indirect only.

In iray, these interactions can also be in different orders or number of interactions, perhaps you only want 2 bounces of reflection for example. You can also have the possibility of tagging objects and retrieving their contribution, like per-light framebuffers or separating out individual objects and/or contribution for later compositing. Keep in mind the more you add, the greater complexity and the slower your render may become.