mr_phoenyxx opened this issue on Feb 19, 2014 · 78 posts
bagginsbill posted Fri, 21 February 2014 at 5:58 PM
Quote - That all makes sense to me Bagginsbill. One clarification though: you are talking about what I said with the color of an object being what light we see bounced off of that object when you say, "diffuse reflection" correct?
Or are you more specifically discussing what is referred to as Diffuse Reflection in the article that you posted in this thread?
Hmm. Diffuse reflection is an effect. I use the word reflection or reflect in regard to the phenomenon of bounced light. Diffuse reflection is a particular and specific bouncing behavior that differs from specular reflection and also differs from subsurface scattering.
Diffuse color is a parameter used in the simulation of that affect in just about every renderer ever written. Color (the word unadorned, no adjective) is a subjective experience and may not match the diffuse color, as it combines ambient light, direct light, viewing angle, specular reflection, contrast with surroundings, diffuse value, and so on. This is not a good definition for color so we'll dismiss it.
Many parts to the rendering equation, of which diffuse color is only one, lead to specific and unambiguous color - a pixel with a specific RGB value in your render, which came out of the shader that decided it. So let's go with that one.
If you're going to want the exact definition of terms, we have to be much more careful than we've been, as we in the community tend to get pretty loose with words.
When I am doing shader-talk, diffuse color in a shader is something very specific:
It is the ratio of reflected light color versus incoming light color, assuming the incoming light angle is uniformly 90 degrees. In a Poser shader root node, the diffuse color (ratio of bounced light color versus incoming light color) is actually the product of two values:
Diffuse_Color * Diffuse_Value
You can say that for light arriving at 90 degree angle of incidence, in a shader that is only doing pure diffuse reflection calculations, and has no specular effect in it, and has no transparency or refraction either, and given incoming light color L, the output color (C) is given by
C = L * Diffuse_Color * Diffuse_Value
Rearrange that to make the ratio C/L and
C/L = Diffuse_Color * Diffuse_Value
C/L is what I call the diffuse color (plain English). When I write, instead, Diffuse_Color, I'm referring to the Poser node parameter of that name, which is NOT in fact the diffuse color, although it affects it.
However, if you agree to force Diffuse_Value = 1, then it drops out of the equation and then, indeed, diffuse color is exactly the same as Diffuse_Color.
C/L = Diffuse_Color * 1 = Diffuse_Color
Many other shader systems (particularly Renderman) often refer to diffuse color as Kd.
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)