Hi,
some google'ing around brought the following code snippet [http://wiki.delphigl.com/index.php/Texture_Splatting]:
GL.Color4d(1, 1, 1, 0);
GL.BindTexture(GL.TEXTURE_2D, tex1);
RenderQuad();
GL.Enable(GL.BLEND);
GL.Color4d(0, 0, 0, 1);
GL.BindTexture(GL.TEXTURE_2D, alpha2);
GL.BlendFunc(GL.ONE, GL.ONE);
RenderQuad();
GL.Color4d(1, 1, 1, 0);
GL.BindTexture(GL.TEXTURE_2D, tex2);
GL.BlendFunc(GL.DST_ALPHA, GL.ONE_MINUS_DST_ALPHA);
RenderQuad();
It renders the terrain mesh (here: RenderQuad()) multiple times with applied framebuffer blending.
As noted there, using a fragment shader for this work would be the faster alternative if your terrain rendering is expensive (many vertices), because then you only have to render it once and sample the two diffuse textures as well as the alpha channel of the masking texture and mix them together.