I am trying to mix two standart shaders with different layer modes, but the new Arnold system doesn't provide Layer color anymore. Now the option is layer_rgba and layer_shader. But in layer shader there is no option for layer mode and alpha . How to resolve this problem?
There is no possibility to make overlay , screen etc mode or alpha operation
you can use OSL to add in the blend types you want between 2 inputs.
https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/master/3ds%20Max%20Shipping%20Shaders/Composi...
Right, standard surface returns a closure, not a color. So if you want to use those types of layer operations, you have to use layer_rgba with RGB inputs.
00:00:00 1082MB WARNING | unable to connect standard_surface() to osl(param_TopRGB) - types are not compatible (CLOSURE to RGB) 00:00:00 1082MB WARNING | unable to connect standard_surface() to osl(param_BottomRGB) - types are not compatible (CLOSURE to RGB)
thats the point, it used to be that layer color could mix both rgb and closure. I am watching different tutorials now, where it is shown how to make shaders and in most of them they are using layer color
This has changed in Arnold 5 when closures were introduced. Before that you could mix a texture with a surface shader, but not any more. It has technical reasons, don't want to go into details, but now _rgba shaders are used for textures, _shader shaders for surfaces.