Authoring materials for multiple render delegates

   2808   7   1
User Avatar
Member
306 posts
Joined: July 2005
Offline
Hey,

Maybe I'm doing things wrong and could get some advise - if not just consider this a ramble eh?

I'm comparing Redshift, Prman and Karma - looking for a solution for a particular gig. Good time to learn more about Solaris!

Building materials in Houdini isn't something I've done much of recently - was hoping this would be less confusing. Not the experience so far!

Feels very inconsitant with the different contexts, where this has the opportunity to be the best place to do this!

Using renderman, works nicest. There's a PXR Material Builder node that inside of which I'm only offered pxr nodes, and it has a shader output so I can wire to a collect for multi renderer stuff. Yay!

But then - Redshift has an RS Material Builder which nearly functions the same, but no shader output mechanism I can find so I can't use this to wire to a collect node. So back to building them in main context as sprawling mess of nodes.

Then Mantra - I can build shaders with a Material Builder node just like the PXR, but we are migrated away from this, right?

So MaterialX - No material builder at all? I can build these things but again in the sprawling mess of nodes.

Anywone got workflow suggestions here? Just wait and hope things come togeher? I can sort of accept that it can take time for third party stuff to become homogenous.

Cheers,
r.
“First things first – but not necessarily in that order”
– The Doctor
User Avatar
Member
306 posts
Joined: July 2005
Offline
Actually, for some reason I can't wire the "surface" output of PXR Material Builder to a collect node. I can only do this for a mantra Material Builder. So building everything in the same context now. At least that's more consistent, eh?
“First things first – but not necessarily in that order”
– The Doctor
User Avatar
Member
306 posts
Joined: July 2005
Offline
Continuing my discussion with myself.. I see for H9.0.414:

'MaterialX Subnet' tool added to filter for only MtlX-compatible VOPs. Also added a 'Karma MaterialX Subnet' tool, which masks the tab menu for MaterialX and non-VEX nodes, compatible with Karma and Karma XPU.

So that's cool - I wonder can it be wired into a collect vop? Can't upgrade because then I lose plugin support for prman and redshift.. argh.
“First things first – but not necessarily in that order”
– The Doctor
User Avatar
Staff
1448 posts
Joined: July 2005
Offline
Inability to connect Pxr Material Builder to the Collect VOP is strange.

You can use regular Subnet VOP to contain per-renderer shader nodes. That's actually what the new "MaterailX Subnet" is: it's a shelf tool that configures a Subnet node to filter the Tab menu to include only MaterialX shaders.

  1. put down a Subnet VOP
  2. RMB > Parameters and Channels > Edit Parameter Interface
  3. In Node Properties tree, search "Tab Menu Mask", and drag it to Existing Parameters tree
  4. set the subnet node parameter value to the render mask (or vopnet mask) value of shader VOP nodes you want. Eg, "mtlx" ("MaterialX" works too), I think "RIS" for RMan, etc)
Edited by rafal - Nov. 19, 2021 12:33:20
User Avatar
Staff
1448 posts
Joined: July 2005
Offline
Looks like a glitch with Pxr Material Builder prevents connecting its outputs. We've notified RenderMan about it, and they should be able to fix the issue on their end.
User Avatar
Member
169 posts
Joined: Nov. 2013
Offline
For redshift you will also eed to do a vopnet as Rafal suggests above

  • Right-click on the subnet node, then choose Parameters and Channels > Edit Parameter Interface.
  • Then in the Node Properties tree, look for "Render Mask" (in Vop Properties > Shader branch), and add it to the Existing Parameters panel.
  • Then apply/accept, and set the value of the new parameter to "redshift" or "USD".
User Avatar
Member
306 posts
Joined: July 2005
Offline
Thanks Rafal, Hamilton!

My network looking a lot neater now. Thanks for passing on info to pixar.

The tab-menu mask seems to work as advertised, with "Redshift" giving me just the RS operators. I don't see much impact from adding the Render Mask parm - what is it's purpose?
Edited by rangi - Nov. 29, 2021 03:30:23
“First things first – but not necessarily in that order”
– The Doctor
User Avatar
Member
169 posts
Joined: Nov. 2013
Offline
Things like custom AOVs actually work when you use the render mask, and usually won't without it (at least for Redshift)
  • Quick Links