Add shader fac input

Why is there no input to adjust the strength of the Add Shader in Cycles? This seems like it would be very useful. The Mix Shader is very similar to the Add Shader and it has this input.

An example where this might be useful is adding a subsurface scattering shader to a diffuse shader and fine tuning the strength.

Tha Fac of the mix shader tells Cycles which shader is used more.
0 = the first shader
0.25 = 3/4 the first and 1/4 the second
0.5 = both half
and so on.

The add shader just adds both shaders. You can´t control the + sign with a value.

The only possible thing (i think so) would be a option where you can select “+” “-” “*” or “/” but “+” is the most important so only this exist. I don´t know if the others will be implemented.

Adding a Fac input would make sense. You could think of it as premultiplying the value from the second shader before adding it to the first. There is no node to multiply the result of a shader, so you can’t simply premultiply like you would with a color input. You can change the values that go into the shader being added. But this gets cumbersome and error prone. It would be much nicer to have the Fac input.

From what I understand the mix shader works by probabilistically sending the reflected ray to either of the two materials based on Fac. In the Add shader you could do something similar where a Fac value of 0.4 would only sample and add the second shader 40% of the time. Or it could sample every time and multiply the sample by 0.4 before adding its contribution.

You can kinda do this by using mix nodes.

With the mix node fac set to zero (as it is here) - the result looks identical to the result if you plug the blue diffuse node straight into the surface slot of the material.

Upping the Fac value on the mix node gradually adds more and more of the orange node into the addition. When the mix node fac is at 1.0 - the two diffuse shaders are added equally.

I guess you could also a second mix node to the blue diffuse shader so you can control them independently.

Use the mix shader method shown above and plug a holdout shader into the empty slot.

Thanks very much for the Mix Shader solution. I will definitely be using this.

I do believe in the long run it would be beneficial to add the Fac input to the Add Shader for simplicity and clarity.