I took a look at this [www.sidefx.com] question in which the idea of setting up separate materials for separate render engines is discussed.
If I have a geometry primitive, how can I create two materials in a material library and make it so one is used for one render engine (e.g., Karma) and the second is used for another render engine (e.g., RenderMan)?
Thanks!
Anson
Separate Materials for Separate Renderers in USD
708 3 1- AnsonSavage
- Member
- 130 posts
- Joined: 9月 2021
- Online
- Heileif
- Member
- 171 posts
- Joined: 1月 2015
- Offline
- rafal
- スタッフ
- 1454 posts
- Joined: 7月 2005
- Offline
Yes, indeed. Connecting terminal shader nodes to the collect node inside the material library LOP (or to the subnet output inside a subnet VOP) will create two terminal USD shaders inside one USD Material. You bind that one material to geometry. But then when rendering, the Hydra delegate (Karma or RMan) will pick the terminal shader that's appropriate for it.
- AnsonSavage
- Member
- 130 posts
- Joined: 9月 2021
- Online
rafalOh neat! So if I do that, by default the renderers will figure out which shader applies to it (so shaders containing Pixar nodes will only be rendered in RenderMan, and shaders with Karma nodes will only be rendered in Karma, and all that logic happens under the hood)?
Yes, indeed. Connecting terminal shader nodes to the collect node inside the material library LOP (or to the subnet output inside a subnet VOP) will create two terminal USD shaders inside one USD Material. You bind that one material to geometry. But then when rendering, the Hydra delegate (Karma or RMan) will pick the terminal shader that's appropriate for it.
Thanks!
Anson
-
- Quick Links