Yeah, you could do it with a shader and combine multiple textures. I forget what the limit is, but it's probably around 16 textures or somewhere around there. If you just want to do it once (not in real-time, such as animating) then you could use the Texture and Image functions, such as get_pixel and get_pixel to mix two textures and save them as another texture. This will be easier than using a shader.