OpenGL has facilities to support multi-texuring / texture environments. Multitexturing isn't too expensive, it's mainly used to blend dirt and grass textures on terrains. Some lighting effects also use multitexturing.
The effect is mostly done by OpenGL, you just have to look up the right commands to issue, and the right order to issue them in. Here are some examples of multi texturing in action: