Bilinear filtering is a method of texture filtering used in computer graphic design to smooth out textures when objects shown on the screen are larger or smaller than they actually are in texture memory. Textured shapes that are drawn on the screen either smaller or larger than they are supposed to be often become distorted. Regular texture mapping will make the picture look pixilated or blocky. Bilinear filtering prevents this by interpolating the points that are between texels (texture elements) and assuming that they are points in the middle of their respective cells. These points are used to perform bilinear interpolation, a mathematical process, between the four nearest texels to the point a given pixel represents in order to make a relatively accurate guess of the pixel color to be added.
When an object is resized larger or smaller on-screen, it becomes blocky and pixilated if no proper filtering is applied. Bilinear filtering will make the object look good until it becomes smaller than half or bigger than twice the original size of the texture. For example if you have a 64x64 texture, it will look fine when downscaled to 32x32 or upscaled to 128x128 - beyond those numbers it will lose quality. MIP mapping is often used in conjunction with bilinear filtering to help reduce issues with quality. However, the transition between differently sized MIP maps can be very abrupt and very easily detected. In such cases, trilinear filtering can improve this, while using anisotropic filtering might eliminate it altogether by eliminating aliasing effects.
Read More »