bagginsbill opened this issue on Apr 22, 2014 ยท 44 posts
bagginsbill posted Wed, 23 April 2014 at 11:02 AM
http://forum.runtimedna.com/showthread.php?44077-What-exactly-do-Diffuse-Specular-nodes-do
Quote - Anyway, as for the various inputs...
Unless you have transparency involved, the internals of the Poser Surface node are very simple. Each section does a little multiplying (X_color * X_value) and then everything is added together, period.
So if you turn off Diffuse_Value and Specular_Value and you plug X into Alternate_Diffuse and Y into Alternate_Specular, the result is simply X + Y.
If you plug R into Reflection_Color with Reflection_Value = 1, and you plug Z into Ambient_Color with Ambient_Value = 1, you would then have X + Y + R + Z.
If you use the built-in Diffuse and Specular, those just do their job and then get added. So if we called the built-in Diffuse D=Diffuse(Diffuse_color, Diffuse_Value) and the built-in Specular S=Specular(Specular_Color, Specular_Value, Highlight_Size) you'd get:
D + S + X + Y + R + Z
It's really that simple.
There is some wierdness with the switches Reflect_Lite_Mult and Reflect_Kd_Mult. These enable a couple additional multiplications, which are nearly pointless and have no basis in reality. But if your shader has those enabled, and you're using stuff on the Reflection_Color channel, you'd have to take those into account as well. The Reflect_Lite_Mult will multiply the Reflection_Color with the incoming light level. (Stupid - don't do it.) And the Reflection_Kd_Mult will multiply the Reflection_Color with the output of the internal Diffuse node (also stupid - don't do it.)
As mentioned, transparency includes some more wierdness with regard to the internal math of the Poser Surface node. In particular, Specular data is altered a bit. I don't want to bother explaining how unless you need it, as it is very complicated.
Since then some more weirdness has been added. Normals forward will affect things in unexpected ways depending on which of the inputs you plug into. Alternate_Diffuse is the least weird.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)