The first thing that comes in mind is masking using RGBA values. With this you can obtain this kind of textures and this kind of results.
But with this, you can only store up to 4 masks inside a texture and blend between maximum 4 textures.
I am wondering if there's a way to store more than 4 masks inside a texture and being able to blend more than 4 textures using this mask texture. The aim would be to store as much as possible masking data inside a texture.
Is it possible ? How ?