Mix nodes not responding to ... [SOLVED]

Background (feel free to skip):

I’m trying to teach myself noodling by implementing an old dream of mine: passing in materials by color keys. So I have shades of grey for titanium, stainless, aluminium, orange for brass, yellow for gold… And the noodles know what exact colors to use for diffuse and specular colors, and hardness value; so I can texture a spaceship by drawing/painting a single texture using color keys, rather than have to produce 3 textures simultaneously (diffuse, specular and shininess (hardness) ).

Now, I got the color keying working. For testing, I’m using a texture that has a horizontal color band for each material. The texture input node is far below and to the left, off the screen, and its output comes to the input of the color difference key.
The nodes on the left simply produce a color for the materia. Right now the color is a dull blue, just for testing convenience. The value input is the specularity of the material, which allows me to separate the “color” input (albedo) into diffuse and specular components.
Their outputs go to the mixer nodes, which mix the input value with a default grey, according to the mixing factor.

The problem:

If I make the mixing factor 0 (at the mixer nodes, on the right), I get the input colors on the output:


And if I make the mixing factor 1, I get the default grey on the output:


So far so good…

Now, you can see from the viewer next to the difference key that its Matte output is white with a black band where the material keys in. So, one would expect that feeding this signal to the Factor input of the mixers would give me blue horizontal bands on a grey background; but what I get is this:


Same as if the Factor input was receiving 0 for the whole texture!

Here’s my rendering panel settings:


Any idea what my problem is?

Almost forgot; here’s the blend file:

Solved. Needed a dummy texture at the top of the chain…


I’m not sure I understand why that solves the problem, though. Here’s what
my friend at another forum said:

Thing is, the mixers had two image inputs; one of them was a constant color; the other came from a texture. Shouldn’t it be able to set its texture size parameters from the larger of the two? That’s what I would have expected; but anyways, it works now :wink:

I think this issue needs to be looked at, though; I wouldn’t file a “bug report” but something here is about to waste tens of thousands of cumulative hours of Blender users around the world, trying to come to grips with problems like this.