Another important technique which is actually used quite a bit in current
real-time applications are detail maps. They come in various flavors, and
I will talk about two of them here.
The first can be viewed as a hierarchical memory model, where you
store a texture for the entire environment at relatively low resolution but
provide high-resolution
"insets" in regions in which the viewer might want to zoom in. This was
done quite successfully for flight simulators, where you might have the
entire environment stored at low-res but then a few buildings are stored at high
resolution in another part of memory. When the user zooms in to these regions,
the renderer automatically indexes the high-resolution
textures to provide the extra detail.
The other approach also known as detail maps involves a low resolution
texture which covers the entire environment and is then modulated by
a high resolution tileable texture. Because the high-res texture can be
tiled, it does not take up too much texture memory, yet it allows the user
to move up close and still see sharp detail. An example
of the high-res tile is shown here in gray and it is applied
to the terrain shown
here to get this result.