I am trying to figure out how to best create a multi-layer material for use on a landscape or other objects where I want to blend multiple materials/surfaces using masks.
Right now I have a MaterialX material with multiple MaterialX Standard Surface shaders. I can use the MaterialX 'mix' node with a mask to successfully 'layer' one surface atop another but when I add a third mix node and try to blend a third surface shader I only see the vertex colors of the object instead of any material.
Limited troubleshooting seems to indicate that I cannot use additional mix nodes to layer more shaders for some reason. The mix node works fine in other scenarios where I am using multiple of them in succession to layer textures instead of surfaces, however.
I know I can accomplish this sort of layering with a single surface shader by just mixing multiple sets of texture channels using masks instead of mixing surfaces, but I want to explore using layered surfaces instead due to the simplified network.
Attached are some images showing the material setup using the vertex colors as masks as well as a the .hiplc file. In the second image you can see how trying to blend a third surface fails.
I am wondering if I am just setting this up wrong or if there is a more correct way to do this type of masking/layering of shaders.