Mipmaps employ a series of pre-filtered images to help make texture-mapped images look as good as possible at any scale. This is most important when textures have lots of detail.
Original Image Texture [mipmapLevel=0] |
1/2 x 1/2 [mipmapLevel=1] |
1/4 x 1/4 [mmL=2] |
1/8 x 1/8 [3] |
… | 1x1 [N] |
Mipmapping is an all or nothing deal. You either define only a level 0 texture map, or you define all mipmap levels. If the original image is not square, the final few mipmap levels will be one-dimensional arrays of color, either a shrinking column or a shrinking row.