Learning path

Full curriculum

Full curriculum

Arrows go from each prerequisite to the units that depend on it. Hover or focus a unit to highlight its path.

Unit content

Texture filtering and mipmaps

A texture lookup rarely lands exactly on one stored texel, and one screen pixel may correspond to an area containing many texels.

For magnification, nearby texels can be reconstructed with filters such as nearest-neighbor or bilinear interpolation. Bilinear filtering blends the four neighboring samples according to the lookup's fractional position.

For minification, simply choosing one high-resolution texel undersamples the texture and can alias badly. A mipmap stores progressively low-pass-filtered versions of the texture at lower resolutions.

The renderer chooses levels whose texel spacing approximately matches the projected pixel footprint. Trilinear filtering interpolates within two neighboring mip levels and then between those levels, reducing abrupt transitions.

Mipmaps trade additional storage and preprocessing for better sampling quality and more coherent memory access.

Texture filtering is fundamentally a sampling problem: reconstruction is needed when the output grid is finer than the stored texture, while low-pass filtering is needed before the effective sampling grid becomes coarser.