Skip to content
Search

Mipmap

lastmod 2026-03-03created 2026-03-032 edits

In the texture mapping field of 3D graphics, a mipmap is a set of bitmap images made up of a base texture and a sequence of progressively pre-shrunk versions of it, intended to speed up rendering. They are also called mipmaps or MIP maps. They are widely used in 3D computer games, flight simulators, and other 3D imaging systems.

Mipmaps were first introduced by Lance Williams in a 1983 paper as a method called Pyramidal parametrics prefiltering. The word "pyramid" reflects that the mipmaps can be thought of as stacked in order of size. MIP is an acronym of the Latin multum in parvo ("much in little").

How it works

Each bitmap image in the mipmap set is the base texture shrunk in advance by a certain level. When a texture appears at or above its original size, the base texture can be used as is, but when it appears farther away or smaller than the original, a shrunk texture is used for rendering instead (in practice, after interpolation). This greatly reduces the number of texture pixels (texels) used in rendering, which speeds up rendering. Because the mipmap images are already anti-aliased, the losses that can occur during rendering are reduced, and the load of real-time rendering is lowered as well. Magnification and minification can also be done efficiently this way.

If a texture is 256×256 pixels (textures are usually square, so each side is a power of 2), the resulting mipmap set consists of eight images, each 1/4 the size of the previous one: 128×128, 64×64, 32×32, 16×16, 8×8, 4×4, 2×2, and 1×1. For example, when rendering this texture at 40×40, the final image can be obtained by interpolating the 64×64 and 32×32 mipmap images in a suitable way. The simplest method is to average the pixels of the mipmap image closest to each pixel of the final image; more complex methods using signal processing, Fourier transforms, and so on can also be used.

The space needed to store the mipmap set is 1/4 + 1/16 + 1/256 + … = 1/3 of the original texture. Not needing much space is an advantage of this method, but in many cases scaling is not uniform across directions, and one direction is scaled more than another. In such cases an image of suitable resolution is used: with a high resolution, cache efficiency drops and anti-aliasing occurs heavily in one direction, but the final image quality is high; with a low resolution, cache efficiency rises, but the image becomes too blurry to distinguish.

See also

Favorite site

author Zer0 sitemap