Trilinear mipmap interpolation is a texture filtering process that increases the realism of three dimensionally rendered images.

As with regular mipmapping, different “copies” of a texture are stored at different resolutions. Each copy is designed to provide the optimal image quality at a particular distance and resolution. As the distance between the camera and the texture surface changes, the most appropriate copy of the texture’s data is used.

The reason for this is, as a given image is scaled, or filtered, to be larger (more pixels) or smaller (less pixels) than the original, certain assumptions are made to perform that scaling that become more and more erroneous as the image is scaled increasingly larger or smaller. A perfect example of this is the average Nintendo 64 game. It’s very blurry when you get up close to a surface because the texture was filtered, but not mipmapped. By storing many “ideal” copies, one can be closer to the “true” image rather than continually relying on these assumptions. Storing these specific distances, however, has problems of its own.

When rapidly approaching a surface that is mipmapped, one will notice a “pop” when the rendering switches from one version of the texture to another.

Trilinear mipmap interpolation is a technique that solves this particular problem. Each time a texel (a pixel as its being drawn to a surface) is drawn, a weighted average is taken from the pixel values of the two adjacent mipmaps and from neighboring pixels within each mipmap to determine the final value of the texel.

The same kinds of assumptions are made to interpolate between mipmaps and to filter original textures; the difference is that the mipmaps decrease the level to which one must rely on these assumptions to produce textures.

In this way, the appearance of a textured surface will appear smooth not just at a given depth, but also as the surface changes depth.

Filtering is a similar technique that accomplishes the goal of smoothing things out at a particular depth. In this case, weighted averages are only taken from the original texture with respect to adjacent pixels. As mentioned earlier, the assumptions that are involved with filtering, without the aid of mip-maps, eventually turn any image into a blurry mess.

Essentially, the technique prevents programmers from ever having to scale an image up or down by so much that it becomes noticeable. Of course, there is a significant memory and processing overheard to this. Not too long ago, this technique could only be used for pre-rendered images. However, current graphics cards are fast enough, and have enough memory to do this for real-time graphics at normal resolutions