Look at a checkerboard floor stretching away from you in a 3-D game. Up close the squares are crisp. In the distance, where dozens of texels map onto a single screen pixel, the pattern dissolves into a dancing, strobing noise — aliasing. Scroll the camera and the shimmer chases you.
The fix, invented by Lance Williams in 1983, is elegant: precompute the texture at half resolution, then quarter, then eighth — a pyramid of progressively smaller images. When the GPU shades a distant pixel it reaches not for the original full-resolution image, but for whichever level in the pyramid best matches how many texels project onto that pixel. No more averaging a crowd of high-frequency detail into a single noisy sample.
The name comes from the Latin multum in parvo — "much in little." Each level is a mip level, and the complete pyramid is a mipmap. The storage overhead is modest: the levels at , , , … of the original size form a geometric series that sums to exactly one third of the original texture's area — so the full mipmap costs only times the original.
This article is about the idea behind mipmapping and the elegant math that makes it work. For a broader look at how rendering pipelines eliminate jagged edges see the article on antialiasing — or explore how dynamic shortest paths shows that precomputation is a recurring theme across algorithms.
Comments
Loading comments...