advanced terrain texturing

leaving out the story why
i need to combine 4 or more textures, and i have the density-value of every texture per vertex. the sum of all alpha-values on a vertex is 1.

how to render this ?
and more important : how to render this less passes than 1 per texture ?