Some games will require more detailed textures than you are willing to pay for. A flight simulator, for example, might call for very high-resolution texture maps, sampling large terrain data sets with accuracy. If we choose to implement these maps directly, they will definitely result in a prohibitive memory footprint. Thus, some clever techniques must be used to ensure we can combine large textures and resolution with reasonable memory requirements. Detail textures, as you will see, provide a good solution to this problem. A detail texture is a texture map that encodes the high-frequency information, and thus the detail, in a larger scale texture. Detail textures are very popular in terrain rendering and in many cases where you need to simulate high detail with low-resolution texture maps. The idea is to split the texture information into two channels. A low-frequency layer provides the basic coloring patterns, whereas a high-detail, tiling detail texture provides the grain and finesse players expect. By painting both textures using multitextures, they are blended together to create the desired effect. Then, as the object moves away from the viewer, we can alpha blend the detail texture, so distant objects show only the base texture. We can even choose between different blending modes. Although a combine or multiply equation is the most popular, additive blends can be used as well for specific effects. |