9
$\begingroup$

I know the basic difference between a mix shader and an add shader, this question is about the applications of each.

I have heard that add shader should be used with translucent shaders. But in answering a question about the difference between add and mix, Maccesch said "Add Shaders aren't necessarily physically correct.". So my question is what does "aren't necessarily" exactly mean; and when, if ever, is an add shader appropriate when making physically-correct materials?

$\endgroup$
4
$\begingroup$

I think Maccesch meant that in the context of reflecting shaders.

Think of it this way:

  • In a diffuse+translucent material, you want the light transmitted through in addition to the light reflected off the surface.

    Though you may want to darken the translucent node a bit to simulate absorption:

    enter image description here

  • In a diffuse+glossy material, you want some of the light to be reflected specularly (glossy), and some to be reflected and scattered (diffuse).

    Here "some" can be conveniently defined by the factor of a mix node (which in this case is defined by the angle of the surface to the camera, via a fresnel node). Using this setup, at most you can reflect the same amount of light as received:

    enter image description here

    You don't want to reflect more light than what hits the surface, as easily happens with an add shader:

    enter image description here

The exact difference between the two nodes is nicely covered in question you linked.

$\endgroup$
  • 1
    $\begingroup$ Thanks for the answer, that explains it very nicely. One more thing comes to mind; using your logic for the translucent shader, should the add shader be used for SSS as well? I usually use a mix for SSS. $\endgroup$ – PGmath Sep 2 '14 at 0:12
  • 1
    $\begingroup$ @PGmath I've often wondered the same thing ;) I think the SSS shader is sort of in-between, as there is backscattering (which comes out pretty much like diffuse reflection) as well as transmission. I usually use a mix shader too, but I guess whatever looks good. $\endgroup$ – gandalf3 Sep 2 '14 at 0:52
  • $\begingroup$ The add use-case with translucent shader does not conserve energy, you might want to change the example to volumetric absorption. As it turns out people are still pointed to this old answer and it might confuse them. $\endgroup$ – Jaroslav Jerryno Novotny Feb 14 '18 at 14:36
4
$\begingroup$

I'd argue that the add shader is never physically correct, since it duplicates the incoming energy, and adds the results. But you can still produce physically plausible visual results through careful accounting.

In this answer, three glass shaders are added together. But each shader absorbs two out of three colour channels, so the outgoing light energy matches the incoming light energy.

dispersion glass shader

As a physical model, there would be anomalous heat generated, but cycles doesn't track that anyway, so it works fine.

$\endgroup$
1
$\begingroup$

The way I see it -

enter image description here

Most shaders like diffuse and glossy will "reflect" the same light from Light A to the camera with a different appearance. These should be mixed together.

A translucent shader allows additional light from Light B to pass through the object, reducing it's intensity along the way and should be added to the Light A result.

So you mix different effects from the same light and add effects from new sources of light.

With a SSS shader you have a bit of both, it is originating from the same light source, yet it is passing through the object and bouncing back in a similar way to the translucent effect.

But remember, at the end of the day it is only an artistic choice, use the one that renders a result that you are pleased with. It doesn't take long to compare the two.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.