In 3D computer graphics, anisotropic filtering (AF) is a method to significantly improve the quality of texture images. It is unique in that this technique is only applied on surfaces where the camera perspective is skewed and the texture projection appears non-orthogonal. As the word origin suggests, anisotropic filtering does not treat each direction the same way. Compared to bilinear and trilinear filtering, anisotropic filtering not only eliminates aliasing effects, but also improves blur and preserves details at extreme viewing angles.
Anisotropic filtering can preserve the "clarity" that traditional mipmap technology loses in the process of avoiding aliasing.
In the late 1990s, due to memory bandwidth limitations, the use of anisotropic filtering became popular and became a standard feature of consumer graphics cards. This technology is common in modern graphics hardware (and video drivers), and users can enable this filtering technology through driver settings or game index interfaces.
Anisotropic filtering enables fast anti-aliased texture filtering technology, maintaining sharp texture details at all viewing angles. Traditional isotropic mipmap technology halves the resolution on each axis as the resolution of each layer decreases. Thus, when rendering horizontal planes at oblique angles, the minimization result will result in a lack of horizontal resolution due to the reduction of the image frequency in the vertical axis.
For example, when anisotropic filtering is applied to a 256x256 texture, it will not only become 128x128, but also non-square resolutions such as 256x128 and 32x128.
With mipmap anisotropic filtering, it is possible to detect anisotropic downsampled images when the image frequency of the texture is different for each texture axis. This way one axis is not blurred by the screen frequency of the other axis, while still avoiding aliasing.
During the rendering process, different degrees of anisotropic filtering can be applied, where the degree refers to the maximum anisotropy ratio supported by the filtering process. For example, 4:1 ("four to one") anisotropic filtering will further enhance the clarity of skewed textures beyond the range of 2:1. In practical terms this means that in the case of highly skewed textures, a 4:1 filter will appear twice as sharp as a 2:1 filter.
However, most scenes will not require 4:1 filtering, only the more skewed and usually farther away pixels will require sharper filtering techniques.
This means that as the degree of anisotropic filtering increases, there will be diminishing returns on the quality improvement seen by the naked eye, with only a relatively small number of highly skewed pixels showing clearer textures.
True anisotropic filtering is done proportionally on an instant per-pixel basis. In graphics hardware, when anisotropic sampling is performed, several probes are usually performed around the center point of the texture, based on the projected shape of that pixel. Past software methods have mostly used summed-area tables. Each anisotropic filtering probe is typically itself a filtered mipmap sample, so this process increases sampling complexity.
For example, sixteen trilinear anisotropic samples might require 128 samples, while trilinear mipmap filtering would require taking four samples per mipmap, followed by sixteen more anisotropic samples.
However, such filtering complexity is not always required. There are a few ways to reduce the workload for graphics rendering hardware. In graphics hardware, it is most common to composite filtered pixel values from just one row of mipmap samples.
The number of samples required can make anisotropic filtering very bandwidth-intensive. Because multiple textures are common, each sample size may be four bytes or more, so each anisotropic pixel may need to fetch 512 bytes from texture memory. Unfortunately, current television displays may easily have over two million pixels, and the desired application frame rates are typically higher than 60 frames per second.
Thus, bandwidth requirements for texture rendering operations can reach hundreds of GB per second, which is not uncommon when anisotropic filtering operations are involved.
Fortunately, a number of factors can improve performance. The probes themselves share cached texture samples, both across and within pixels. Even with 16-sample anisotropic filtering, not all 16 samples are necessary, because only distant and skewed pixel filling will be highly anisotropic.
In this context, anisotropic filtering has satisfied our demands for image quality to an unprecedented degree, which makes us wonder: in what direction will the imaging technology develop in the future? Become more real and extraordinary?