Impliment cycles light path expressions and custom aovs into blender
I have been using LPE's in production path tracers for custom light selects and custom AOVs and would love that functionality in cycles. I think the pass system might need an overhaul as the same passes have been used in blender for a long time. It can significantly cut down on render time as you do not need to render multiple render layers to get all light selects, refractions or complex shaders for the compositor to have full control. Additionally if would be great to have a way of storing pass sets to quickly apply to any new render layer.
renderspud.blogspot.com/2010/05/arbitrary-output-variables-aov-and.html
3 Comments
Really good point! I work currently with blender for a smaller movie production and we've got a shot of an airplane. We wanted to seperate the red lights of the wing to animate the blinkling in nuke. With the current possibilities we had to render one "view layer" with the lights turned off and one with only the red lights. Because of that we had the (aprox.) DOUBLED render time. Isn't much for a single image in HD but we had to deliver 350 frames in 5K. I wanted to add this example because this post is so unpopular. LPE's and AOVs are very important! Most of my co workers are really hyped by the new blender 2.80. But LPE's are really the crux why they don't want to switch yet. Cycles is pretty fast. Especially faster than Houdinis Mantra, but rendering the same image twice or more just for some extra light passes for compositing isn't a option. LPEs are the future for Cycles and maybe the way blender gets in the bigger VFX houses. Mr dudeman, maybe you could add some pictures to enhance this post. Or some examples of your workflow. I think a lot of blender users don't know the strenght of your requested feature. I really want this to get implemented in the near feature! Best regards!
* @lukaswieg * I definitely agree with your statements about doubling render times with double (or n*layer per light) the layers.
I work with RenderMan and Katana at a major VFX house but have been using Blender since early (pre 2.4) days. It's crazy to see how much progress has been made and the wider industry adoption is pretty much at a tipping point for 2.8. VFX would still need some convincing but LPEs are a sure way to get small/medium and even some bigger studios to take a look.
My invaluable uses so far include making custom aov passes to extract reflection masks through 2 sheets of glass (stupid hard or impossible without it). Make a clean refracted camera UV for compositing and warping backgrounds accurately through glass. You could even capture an aov that only pulls from a path after n bounces (bounce clamped indirect).
Here is the RenderMan documentation for LPEs with a quick explainer on their implementation and a guide to LPE tokens.
rmanwiki.pixar.com/display/REN/Light+Path+Expressions
* @misterdudeman * As far as enabling light selects there would need to be an LPE compatible tag on each light for specifying light groups that can be queried by Cycles at runtime.