Filtering describes how a texture is applied at many different shapes, size, angles and scales.
There are many methods of texture filtering, which make different trade-offs between computational complexity, memory bandwidth and image quality.
Such a position may not lie perfectly on the "pixel grid," necessitating some function to account for these cases.
In other words, since the textured surface may be at an arbitrary distance and orientation relative to the viewer, one pixel does not usually correspond directly to one texel.
These depend on the position of the textured surface relative to the viewer, and different forms of filtering are needed in each case.
Closer than that, the texels are larger than screen pixels, and need to be scaled up appropriately — a process known as texture magnification.
Graphics APIs such as OpenGL allow the programmer to set different choices for minification and magnification filters.
Mipmapping is a standard technique used to save some of the filtering work needed during texture minification.
This would necessitate reading all of its texels and combining their values to correctly determine the pixel color, a prohibitively expensive operation.
This section lists the most common texture filtering methods, in increasing order of computational cost and image quality.
While simple, this results in a large number of artifacts - texture 'blockiness' during magnification,[3] and aliasing and shimmering during minification.
[4] This method is fast during magnification but during minification the stride through memory becomes arbitrarily large and it can often be less efficient than MIP-mapping due to the lack of spatially coherent texture access and cache-line reuse.
In Bilinear filtering, the four nearest texels to the pixel center are sampled (at the closest mipmap level), and their colors are combined by weighted average according to distance.
[9] This results in a smooth degradation of texture quality as distance from the viewer increases, rather than a series of sudden drops.
When a surface is at a high angle relative to the camera, the fill area for a texture will not be approximately square.