смотря сколько текстур.
5 - вполне влазят в интерполяцию по цвету.
float4 resultcolor = tex2D(tex0,uv) * color.a + tex2D(tex1,uv) * color.r + tex2D(tex2,uv) * color.g + tex2D(tex3,uv) * color.b + tex2D(tex4,uv) * ((1.0 - color.a + color.r + color.g + color.b));
больше - сложнее, и скорее всего сведется к созданию дополнительных поверхностей.