What is the difference between Diffuse/Specular root nodes and their "alternate" counterparts?



  • This may sound dumb because it has been around for so many Poser versions, but I finally want to wrap my brain around this. And - as usual - the manual does not help at all.

    Looking at the top of the PoserSurface root node, there are values for Diffuse_Color and Diffuse_Value as well as Specular_Color and Specular_Value.
    Diffuse_Color sets the color of the surface, Diffuse_Value its strength. Got that.
    Specular_Color defines the highlight color, Specular_Value its strength. Got that too.

    But what are the Alternate_Diffuse and Alternate_Specular parameters for? The manual says "Use this channel for strand-based hair and anytime you wish to use
    custom diffuse lighting." Thank you very much! If I plug in a color or a texture there, will it somehow mix with the non-alternate values? And how?

    0_1497694902218_Alternate.PNG

    To make matters even more complicated, the alternate values are heavily used by some figures and also - as in the above example - by the wonderful EZSkin3. As you can see, the manipulated color maps for the skin are all pugged in to the alternate values. The texture map is also plugged in to the top nodes, but they are set to 0 or black, so they should not have any effect at all? Why is that?


  • Poser Ambassadors

    @oldenburg said in What is the difference between Diffuse/Specular root nodes and their "alternate" counterparts?:

    This may sound dumb because it has been around for so many Poser versions, but I finally want to wrap my brain around this. And - as usual - the manual does not help at all.

    Not a dumb question at all. In fact, back in 2006 I asked the very same questions.

    Looking at the top of the PoserSurface root node, there are values for Diffuse_Color and Diffuse_Value as well as Specular_Color and Specular_Value.
    Diffuse_Color sets the color of the surface, Diffuse_Value its strength. Got that.

    If I may use an analogy that might be familiar, the Poser_Surface is like a mixing board or a pre-amp in sound systems. It can add together multiple inputs to form a new signal which can be further altered. What can you plug into a mixing board or pre-amp? Anything at all - radio tuner, television audio, microphone, guitar, etc. What can you plug into PoserSurface? Diffuse, Anisotropic, Specular, Glossy, Blinn, etc. Whatever you plug in get added together.

    Continuing the analogy, the Poser_Surface is like a consumer-grade audio "receiver", which is a combination of a radio tuner built-in to a pre-amp and an amplifier. They're all in one. So, too, does the PoserSurface has a built-in "radio tuner" which is a Diffuse node - the first two inputs on the PoserSurface are the exposed inputs of that built-in Diffuse node. You can get the same effect by explicitly turning that built-in one off, and connecting a separate Diffuse node to the Alternate_Diffuse input, just as you could plug a separate radio tuner into the Aux 1 input of a receiver that already has a built-in radio tuner.

    The "aux" inputs of your PoserSurface are the Ambient_Color (which also has a pre-amp "volume" knob on that input which is controlled by Ambient_Value), Reflection_Color (with associated pre-amp knob Reflection_Value), Refraction_Color (with associated pre-amp knob Refraction_Value), Alternate_Diffuse, and Alternate_Specular.

    If we assume the simplification that all those pre-amps are just set to 1, then all those aux input are interchangeable for the most part. There are a couple exceptions but for this level of conversation they are not important.

    Specular_Color defines the highlight color, Specular_Value its strength. Got that too.

    And these are the exposed parameters to a built-in Specular node, which you could also substitute with other/better versions by setting Specular_Value to 0 and use a different node in the Alternate_Specular input.

    The reason those "aux" inputs are prefixed Alternate_ is that you're supposed to realize that you should be plugging in an Alternate version than the built-in one and you should turn off the built-in one. Why doesn't the surface just do that on its own? I don't know. The fact that it does not is confusing, and the fact that we can take advantage of simultaneously using the built-in AND the alternate diffuse as well as the built-in AND alternate specular is one of the great Poser peculiarities that will go down in history without explanation.

    But what are the Alternate_Diffuse and Alternate_Specular parameters for? The manual says "Use this channel for strand-based hair and anytime you wish to use

    As I've hopefully made clear by now - the purpose of these inputs is to let you take over and replace the jobs of Diffuse and Specular using node constructions of your choice, instead of the trivial and rather limited built-in versions at the top.

    custom diffuse lighting." Thank you very much! If I plug in a color or a texture there, will it somehow mix with the non-alternate values? And how?

    Yes it mixes them all by literally adding them together as in a + b + c.

    To make matters even more complicated, the alternate values are heavily used by some figures and also - as in the above example - by the wonderful EZSkin3. As you can see, the manipulated color maps for the skin are all pugged in to the alternate values.

    This is because the EZSkin shader (which I designed) needs to use modern Scatter nodes instead of the trivial and unrealistic built-in Diffuse node. The shader needs to use a carefully modulated Blinn node instead of the trivial and unrealistic built-in Specular node.

    The texture map is also plugged in to the top nodes, but they are set to 0 or black, so they should not have any effect at all? Why is that?

    Because the stupid preview engine doesn't respect the images produced by the Alternate_ inputs, so to get a preview with texture, we ALSO plug the color into the Diffuse_Color input. However we don't want that built-in Diffuse node to function in the render so we set the Diffuse_Value to 0. In theory this would also make the preview black, but in reality, there is a bug in the preview engine that we're taking advantage of here. The bug is that the preview engine mistakenly shows the Diffuse_Color even when the Diffuse_Value has this part turned off! So in preview we have our texture (which is really important when posing an eyeball, for example) and for render we are actually using the "real", proper shader which is coming into the Alternate_ input and has far more complications to it.



  • @bagginsbill Thank you very much for these explicit answers that cover all my questions!

    Have you already written a book about Poser's material room? Where can I buy it?



  • @bagginsbill
    So that explains why anisotropic can't be plugged into the specular node... it's to basic to handle the input?



  • The way I use them is that I put the main texture in the "Diffuse" channel, then I add adjustments in the "Alt Diffuse" channel.

    For example, if I add an Edge Blend node in Alt Diffuse with inner color of gray and an outer color of black then I can add luminance to the skin without having to change the texture. Also if the texure color is somewhat off I can set a slight tone in "Alt Diffuse" and fix that way.

    Compare to trying to do that with the "Diffuse" channel only - you'd have to edit the texture, or add a math operation node on the texture. Now, that changes the texture and is done before lighting, so result tends to be flat.

    With Edge Blend on the alt diffuse the result has more depth and I avoid complicated chains in the diffuse node, while keeping just one texture for diverse skin tones.


  • Poser Ambassadors

    The alt_diffuse draws (by adding to the other channels) whatever you plug in.

    If you plug in an edge blend node, then you're literally adding light, and making it glow.

    This is OK until you place the figure in shadow and it's still glowing.



  • @bagginsbill said in What is the difference between Diffuse/Specular root nodes and their "alternate" counterparts?:

    The alt_diffuse draws (by adding to the other channels) whatever you plug in.

    If you plug in an edge blend node, then you're literally adding light, and making it glow.

    This is OK until you place the figure in shadow and it's still glowing.

    Precisely; that's a bit of a downside, but I almost always use well illuminated even light set (4 omnidirectional lights do that nicely). That avoids messy shadows and too much constrast; as I always make movies out of Preview mode (I don't have patience to wait for rendering of 1,200 frames), that's been working fine for me.

    Edge Blend on Alt Diffuse was the best way I found to keep rendering speed while making pale skins.