bagginsbill opened this issue on Apr 22, 2014 · 44 posts
bagginsbill posted Thu, 24 April 2014 at 10:11 AM
Ah - you beat me to it - I kind of thought you would.
Nevertheless, I have prepared some demonstration to make the point more visual.
First - in words:
The output of a given node is what it is. Conversion doesn't happen there - it happens on the other end of a wire when the value (number or tuple) is consumed by another node. At that point, the value is taken as-is (because it's the right kind) or it is converted on-the-fly for use as input to the node that wants to consume the value.
As I said earlier, the output of any given node is going to be a number or a tuple based on that node's job, regardless of the kinds of inputs you feed it. If you feed a Math node with colors (tuples) it will first convert them to numbers BEFORE it uses them. Thus, no matter what you're thinking of in terms of structure, the math node only sees numbers, manipulates numbers, and generates numbers - period. The Color_Math node only sees colors, manipulates colors, and generates colors - period.
The Poser root node has inputs for lots of things. The Diffuse_Color input deals with color and if you plug in something that is a number, it will be converted to a color. If you plug in something that is a tuple but not actually a color, such as a surface normal vector, it will ignore that little difficulty and pretend the vector is actually a color. It can do that because vectors and colors are structurally identical - a 3-tuple either way. Thinking of the tuple as a color or as a 3-d vector is a matter of interpretation, not a matter of representation.
Meanwhile, the Displacement input expects a number and even if you plug in a color, it will only deal with a number, so it first converts it to a number. It doesn't matter how it started or evolved though a bajillion nodes, by the team it feeds into displacement, it's a number.
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)