bagginsbill opened this issue on Apr 23, 2008 · 2832 posts
bagginsbill posted Tue, 20 January 2009 at 9:26 AM
That's correct. Ready for a little lesson?
The PoserSurface (the root node) is more than just a bunch of channels to plug stuff into. It is a shader in itself, albeit a rather simple one.
The Diffuse_Color and Diffuse_Value channels are actually part of an internal Diffuse node. As with a separate Diffuse node, this combines the incoming data with the Lambertian diffuse reflection function (i.e. it incorporates lighting into your texture). The amount of diffuse reflected light is the product of your color map, your Diffuse_Color, your Diffuse_Value, the strength of the incoming light, and the cosine of the angle between the surface normal and the direction the light is coming in at.
Being a product (multiplication) if any of those terms is 0, the result of the whole term is 0. Meaning, I set the Diffuse_Value = 0 and the internal Diffuse node does absolutely nothing to your rendered surface. The reason we don't want it involved in your shader is because I'm handling the diffuse stuff somewhere else, taking into account gamma correction. Using the built-in diffuse node, I can't intercept the output and gamma correct it. So I turn the whole thing off.
However, as you found out, the preview renderer is a completely different bit of software. It does not follow all the rules that the real renderer follows. In particular, it seems to ignore the brightness control offered by the Diffuse_Value parameter. So by plugging in your texture map (or Color Map as I call it) to Diffuse_Color, you get the preview renderer to show your figure with basic coloring applied.
It would be much better if the preview renderer actually followed the real shader. Then you'd not have to render at all in software!
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)