In mantra we could "export variable for each light" with 'all' vex variable, which would automatically create AOVs per each light.
How can we do so using Karma ? (having 100 lights in the scene, would rather avoid setting each one of them manually)
AOV per each light
10049 14 6- tmdag
- Member
- 168 posts
- Joined:
- Offline
- Mark Wallman
- Member
- 693 posts
- Joined: Aug. 2013
- Offline
Hi.
It is a bit manual right now.
You can add a light path expression in the Karma LOP node..
https://www.sidefx.com/docs/houdini/render/lpe.html [www.sidefx.com]
and in the light LOP under the Karma tab you can add the name of the light LPE if you change the tab to "set or create" (at the bottom).
Best
Mark
It is a bit manual right now.
You can add a light path expression in the Karma LOP node..
https://www.sidefx.com/docs/houdini/render/lpe.html [www.sidefx.com]
and in the light LOP under the Karma tab you can add the name of the light LPE if you change the tab to "set or create" (at the bottom).
Best
Mark
- tmdag
- Member
- 168 posts
- Joined:
- Offline
- Mark Wallman
- Member
- 693 posts
- Joined: Aug. 2013
- Offline
Hi. 3Delight has the best setup for this out of all the render engines I have used. You just tick "multilight" and that is it (non-USD workflow).
As a side note, if you are trying this in Renderman USD side, Renderman's light tab light name does not work... but if you add a LPE light name on the Karma tab of a light. Renderman can then pick up AOV's per light as well. Renderman does not seem to support deep of cryptomatte right now. There are a lot of false starts still with USD right now.
There must be an easier way to do AOV's per light in USD somehow although I would prefer SideFX to prioritize Karma render speed.
Best
As a side note, if you are trying this in Renderman USD side, Renderman's light tab light name does not work... but if you add a LPE light name on the Karma tab of a light. Renderman can then pick up AOV's per light as well. Renderman does not seem to support deep of cryptomatte right now. There are a lot of false starts still with USD right now.
There must be an easier way to do AOV's per light in USD somehow although I would prefer SideFX to prioritize Karma render speed.
Best
- AlexCubor
- Member
- 14 posts
- Joined: Aug. 2016
- Offline
You can used for Each nodes. I think It's logical for USD philosophy.
For getting name light-group I was use python:
P.S I think It’s working similar for Karma too
For getting name light-group I was use python:
stage = hou.pwd().inputs()[0].stage() prim_path = hou.contextOption("ITERATIONVALUE") light_aov = stage.GetObjectAtPath(prim_path + '.primvars:arnold:aov') return 'diffuse_' + light_aov.Get()
P.S I think It’s working similar for Karma too
Edited by AlexCubor - May 17, 2021 12:11:09
- Mark Wallman
- Member
- 693 posts
- Joined: Aug. 2013
- Offline
- AlexCubor
- Member
- 14 posts
- Joined: Aug. 2016
- Offline
- Mark Wallman
- Member
- 693 posts
- Joined: Aug. 2013
- Offline
- ProceduralFrankie
- Member
- 76 posts
- Joined: Feb. 2017
- Offline
- jsmack
- Member
- 8033 posts
- Joined: Sept. 2011
- Offline
- npetit
- Staff
- 404 posts
- Joined: Feb. 2008
- Offline
- j00ey
- Member
- 82 posts
- Joined: May 2013
- Offline
- jsmack
- Member
- 8033 posts
- Joined: Sept. 2011
- Offline
- Zaur
- Member
- 1 posts
- Joined: Aug. 2014
- Offline
- Mark Wallman
- Member
- 693 posts
- Joined: Aug. 2013
- Offline
-
- Quick Links