mysticeagle opened this issue on Mar 04, 2012 ยท 42 posts
bagginsbill posted Sun, 04 March 2012 at 2:35 PM
I am constantly amazed that people don't know the most basic premise of reflection.
If the color of arriving light is L
and the color you see on an object lit by L is S
and the color of the object itself is C
then the relationship is:
S = L * C
That means that what you See (S) is the result of multiplication (*) of the light color (L) and the object color (C).
If you see yellow (S = yellow)
and the light arriving is white (L = white)
then the color of the object must be yellow (C = yellow)
because the only way you can solve this:
yellow = white * C
is
C = yellow / white = yellow
Gray objects are objects where the RGB reflection values of its color (C) are equal.
So:
S = L * C
Break that down, assuming k is the equal RGB gray level found in C:
S = L * [k, k, k]
And break the light down into lr, lg, lb:
S = [lr, lg, lb] * [k, k, k]
The product is:
S = [lr * k, lg * k, lb * k]
I hope you can grasp the meaning of that. Suppose it is a 50% gray, so that k = .5.
Then what you see is:
S = [lr * .5, lg * .5, lb * .5]
Another way to put it is:
S = L * .5
Quite simply, a 50% gray object reflects exactly the hue and saturation that is striking it, but only half the value or intensity or brightness, whatever word you like.
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)