Mipmap is a graphics optimization technology that automatically switches to a reduced and optimized texture image for rendering according to the distance between the camera and the object in 3D space (display size on screen).

Real-world analogy: Eye strain reading a huge billboard in the distance and a ``small pamphlet''

The mechanism of Mipmap can be compared to ``eye strain (memory bandwidth) reading text on a huge billboard in the distance and distinguishing between reading a ``miniature pamphlet'' prepared in advance.

  • Conventional (without Mipmap): Attempts to read a signboard written in extremely large letters (4K or other ultra-high resolution texture) located 2km away by staring directly at it with the naked eye (camera). Since the text is extremely small and squashed in relation to the field of vision, the brain (GPU memory bandwidth) has to squint to focus, which puts tremendous processing stress on the brain (GPU memory bandwidth), causing the pixels to flicker violently like a mosaic (jaggy aliasing).
  • Solution using Mipmap: In order to view the signboard from a distance, prepare in advance a "small hand-held pamphlet (step-by-step reduction texture)" with text and pictures printed in a neatly reduced size. When you look far away, your brain (GPU) automatically looks down at this pamphlet and checks the text. The need for ultra-long data loads (high-resolution sampling) is completely eliminated, dramatically reducing eye fatigue (VRAM read bandwidth) and maintaining a smooth, flicker-free appearance.
Unity Texture Mipmap level generation diagram

Figure: Mipmap infographic that automatically transitions the texture resolution level (LOD) from 1/2 to 1/4 depending on the distance

Mechanism and operating principle

If you enable "Generate Mip Maps" when importing a texture, Unity will pre-create a pyramid of images (mip level) with half the resolution (512x512, 256x256...) from the original texture (e.g. 1024x1024) and package them into one texture asset. When running a game, the GPU instantly measures the "pixel area on the screen" of the object being drawn, and automatically selects and samples a texture with the optimal mip level.