rafal
rafal
About Me
Connect
LOCATION
Not Specified
ウェブサイト
Houdini Engine
Availability
Not Specified
My Badges
SideFX Staff
Since 7月 2005
Recent Forum Posts
Mtlx Hda questions 2024年8月28日16:26
It should work fine in any H20.5. Make sure you switch to Karma in the viewport top-right corner.
Karma AOVs won't work inside a subnet (and therefore HDA) 2024年8月8日10:17
The subnet in the kma_aovs.hiplc file needs a "Render Mask" spare parm to help Solaris figure out the correct shader translator. See attached fixed file.
The Material Library LOP traverses VOPs starting from the terminal (eg, subnet outputs in this case), and for each VOP it tries to use an appropriate shader translator based on the render mask intrisic property of an HDA or based on 'shader_rendermask' parameter. Karma networks consist of MaterialX and Karma-only nodes, so the translators can switch from node to node.
The subnet VOP can be quite problematic because it is common node use by many "languages", so deciding on a correct translator can be tricky. There are some heuristics trying to guess a best match, and it works most of the time. Here however, it looks like a wrong translator is picked which messes up the shader translation.
Because only Karma understands AOVs set up like that, it is crucial that the translation is performed using the karma shader translator throughout the whole network. And for that, the subnet needs to have that Render Mask spare parm set.
You can add such spare parm from RMB on the subnet > Parameters and Channels > Edit Parameter Interface..., then in the left-most panel choose Node Properties and search for "shader_". You will see a bunch of spare parms that help guide the translation of VOPs, and "Render Mask" is one of them.
The Material Library LOP traverses VOPs starting from the terminal (eg, subnet outputs in this case), and for each VOP it tries to use an appropriate shader translator based on the render mask intrisic property of an HDA or based on 'shader_rendermask' parameter. Karma networks consist of MaterialX and Karma-only nodes, so the translators can switch from node to node.
The subnet VOP can be quite problematic because it is common node use by many "languages", so deciding on a correct translator can be tricky. There are some heuristics trying to guess a best match, and it works most of the time. Here however, it looks like a wrong translator is picked which messes up the shader translation.
Because only Karma understands AOVs set up like that, it is crucial that the translation is performed using the karma shader translator throughout the whole network. And for that, the subnet needs to have that Render Mask spare parm set.
You can add such spare parm from RMB on the subnet > Parameters and Channels > Edit Parameter Interface..., then in the left-most panel choose Node Properties and search for "shader_". You will see a bunch of spare parms that help guide the translation of VOPs, and "Render Mask" is one of them.
Mtlx Hda questions 2024年6月27日14:52
This popped up again recently so I re-did the example using an HDA as jsmack suggested.