How does fac differ with manual control versus node control? If I mix two shaders together, like the diffuse and glossy shaders, I understand that I can change the factor slider between 0 - 1.



and that having 0.5 factor will show a 50% mix of blue diffuse and green glossy.



What isn't clear to me is what is going on when something else is plugged into the fac input, if I plug in a checker texture for example, with white and black as its two color values.



This now clearly seperates the two shaders based on the checker texture, I understand its doing that but how does it get away with not just supplying 0 - 1?



If I am only allowed to supply 0 - 1 using the slider, what is the checker doing to the factor that I can't do with my slider? Can you explain what can be plugged in to the fac input and how it differs from the user control slider.
Using the slider will just give one value for the entire surface (or volume, now that we have volume rendering :)

Using a texture will give multiple values mapped to different locations (the  depends on the texture mapping of course):



Basically the texture is supplying a value between 0-1 per ray.

Think of it this way: Each "light ray" cast from the camera by cycles that hits your object will test to see if the mix shader is resulting in shader 1 or shader 2. If the texture controlling the factor is black (0) where the ray hit, it will bounce off the diffuse part of the shader. If it is white (1) where the ray hit, it will bounce off the glossy part of the shader.

So, you can use anything which results in a value (which is pretty much anything). However that's not to say that everything will give a meaningful or useful result.

Note that even if the factor is somewhere between 0-1, the ray will only sample one shader at a time (if you are using the progressive integrator), but with many rays sampling the same point it will converge to a pixel which is a mix between the two shaders.