Vertex paint grundge mask

Hello again guys.
I was wondering - I have, lets say, a wall, that is subdivided enough for some nice vertex paint. So I set up a vertex paint mat, but when I paint in the details, the two textures just blend in with a simple s curve - a brick texture just blends into a plaster texture, where the bricks just “fade out”.
This is very unrealistic obviously.
Is there a way to set up some sort of a mask, so the blend it sharp?
This can also be an issue while painting different materials in nature, like a rocky texture and grass texture. The grass always just fades out, and so do the rocks.
Thanks for the help in advance.

Here’s an example for UE3, but it still applies,

I’ve seen people use height maps for controlling blending.

You can do some really crazy stuff with vertex blending, just look at this guy’s youtube channel

Thanks ZacD. I followed all the different guides, and managed to do this:
Its a long video, just skip through it, but it works very very nicely. I have some problem with image adjustment though. But I am going to ask that in different topic.

There is also a good video tutorial from eat3D about vertex painting and it addresses the gradient fading issue.