Mix textures inside one shader or mix mustiple shaders?

I have a mesh, and I need to add concrete and dirt on top of the wall. I unable to use substance painter or bake to one texture, so the only option for me is mixing everything inside material.
So what will perform better? If I mix textures with MixRGB node and plug everything in one shader or if I plug each texture set to different shaders and mix these shaders with Mix Shader?

Hello Vefery,
I think you should probably use the mix RGB node and plug everything in one shader,
Since this way the material will be controlled by one shader and will be correct fresnel and roughness.That’s what I would do,
This is of course in my humble opinion,
Hope this answers the question, and that i have not been offensive in any way.
Happy Blending :smiley:

1 Like

I think using one principled will “perform better”. But it can become messy to manipulate. I would definitely mix shaders and ignore any potential performance hit. An important factor of materials is the ability to tweak them.

Ok, i decided to mix textures and it works pretty well

Yeah, it is really messy now, but at least it works, I have pretty slow PC
Fun fact, even with mexed textures it rendered on frame in 25 mins in EEVEE and in 30 mins in Cycles


I would say that it really depends on your needs, and you priorities.

  • If you want speed, you might mix RGB and feed only one shader, to improve performances (Mix RGB is done one time juste before render, and Mix shader is done at render time, after each shader is computed, for each ray, meaning it will cost a lot more.
  • If you want best quality, by mixing shaders you can be more accurate, because your are even more free on fixing some params on each separate shader before mixing it

So, to conclude there is not “good” way. Your choice :slight_smile:

See you :slight_smile: ++

1 Like

If per-frame render speed is a huge bottle neck, you can bake it all out to textures. This will push everything to a single, simple shader at the cost of UV unwrap and memory consumption for the textures. And having to rebake textures for changes to the materials, but unless you’re using drivers to change the material, it would still be faster. Even still, you could bake out mask textures and drive parameters to alter the shader, but that’s a lot of planning.