I noticed that in H20 the MtlxImage node has more inputs available to use, one of the most useful one is the "file" input specially to control the texture paths using primvars. But I noticed if I connect something to any string ports (including the file input of course) it returns an error:
But was caused me more curiosity is, if I load one of the material presets from the Material Linker and "extract" it using the edit material network node, I can see that the material textures also have the error but they work:
So I decided to share this here before submitting as a bug to see if there is a reason behind this or if I should report it.
As I understand it, materialX shaders / karma don't support it right now. The shaders can only be parametric using numbers, not entire files, because everything has to be loaded from the start ("compiled")
Indeed, MaterialX 1.38 does not have a geom prop value shader that would return a uniform string. There is one planned for 1.39.
p.s. In MaterialX 1.38 is a little bit iffy when it comes to strings they can only be uniform, and yet geom prop value shader returns a varying string.
Well, let's hope we can have this with MtlX 1.39, and yes it is curious that basically it should not work but it works right now with MtlX 1.38 but that it returns the texture as float:
Now I understand why the usage on the material libraries are mostly for masks, and also now I understand why @mtucker shared one example using the USD nodes instead of the MtlX nodes here [www.sidefx.com].