What is mipmapping?
Mipmaps are smaller, pre-filtered versions of a texture image, representing different levels of detail (LOD) of the texture. They are often stored in sequences of progressively smaller textures called mipmap chains with each level half as small as the previous one.
They are used for situations where the distance between an object and the camera can change. As the object gets further from the camera, the object’s texture will eventually appear smaller on-screen than its actual resolution, in other words, there will be more than one texel (pixels of a texture map) per screen pixel. The texture will have to be scaled down in a process called minification filtering, which often requires the application to sample multiple texels to decide on the colour of a pixel. This becomes a problem when you need to sample the entire texture at runtime for an object that could only be a single pixel wide.
This is where mipmaps come in. Instead of sampling a single texture, the application can be set up to switch between any of the lower resolution mipmaps in the chain depending on the distance from the camera.