Yeah, I remember playing with Inklewriter a bit. I'm a systems / networking programmer, so I don't touch many shaders myself, but I know the fundamentals: the system calculates the different permutations of the shader settings, and builds them separately.