Forum: Poser - OFFICIAL


Subject: Hi, I'm new here

mr_phoenyxx opened this issue on Feb 19, 2014 ยท 78 posts


bagginsbill posted Fri, 21 February 2014 at 1:30 PM

I'll be back to help soon, but I'm super busy with work at the moment.

Our renderer models light as having only three spectral elements - red, green, and blue.

The multiply is correct for diffuse reflection because the incoming light has some percentage absorbed, and the rest reflected. The diffuse color is 1 - absorption values.

Suppose half red is absorbed.

Incoming light is, say [.8, .8, .8]. The diffuse color (absorbing half red) is [.5, 1, 1].

Multiply them together and you get [.4, .8, .8]. See ? Half the red got absorbed.

Try it with other values. It always works.

Another way to look at diffuse color is this: it specifies what is reflected, given a reference light source [1, 1, 1]. Therefore, if the light is half that bright, [.5, .5, .5] then the diffuse reflection would be half the original diffuse color, or color * [.5, .5, .5].

If the light is pure blue [0, 0, 1] and the surface is pure red reflector [1, 0, 0], the resulting reflection is black i.e. nothing [0, 0, 0].


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)