introduce a shading difference for a selection area in terrain

How can I introduce a difference in shading similar to the image below (taken from Civ5), where the selection is shaded slightly (with a circle outline) differently than the area outside. I understand I can change the look of some geometry by changing a parameter like the diffuse color. But, what I don’t understand is how to render the same surface where only some part of the surface is different.

[ATTACH=CONFIG]1894[/ATTACH]

There are probably multiple ways to achieve this effect. One way is to use multiple textures and mix them. With simple geometries like circles you can also write a fragment shader function that only adds the selection colour to the texture if the fragment is outside the circle.