Anisotropic Filtering
   HOME

TheInfoList



OR:

In
3D computer graphics 3D computer graphics, sometimes called Computer-generated imagery, CGI, 3D-CGI or three-dimensional Computer-generated imagery, computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian coor ...
, anisotropic filtering (AF) is a technique that improves the appearance of textures, especially on surfaces viewed at sharp
angles Angles most commonly refers to: *Angles (tribe), a Germanic-speaking people that took their name from the Angeln cultural region in Germany *Angle, a geometric figure formed by two rays meeting at a common point Angles may also refer to: Places ...
. It helps make textures look sharper and more detailed by reducing blur and
aliasing In signal processing and related disciplines, aliasing is a phenomenon that a reconstructed signal from samples of the original signal contains low frequency components that are not present in the original one. This is caused when, in the ori ...
that can occur when surfaces are angled away from the viewer. 
Anisotropic Anisotropy () is the structural property of non-uniformity in different directions, as opposed to isotropy. An anisotropic object or pattern has properties that differ according to direction of measurement. For example, many materials exhibit ver ...
filtering works by applying different amounts of filtering in different directions, unlike simpler methods like bilinear and
trilinear filtering Trilinear filtering is an extension of the bilinear texture filtering method, which also performs linear interpolation between mipmaps. Bilinear filtering has several weaknesses that make it an unattractive choice in many cases: using it on a ...
which filter equally in all directions. While it requires more
processing power In computing, computer performance is the amount of useful work accomplished by a computer system. Outside of specific contexts, computer performance is estimated in terms of accuracy, efficiency and speed of executing computer program instruction ...
than these simpler methods, anisotropic filtering became a standard feature in most graphics cards in the late 1990s and is now commonly used in games and other 3D applications, often with user-adjustable settings.


Comparison to isotropic algorithms

Anisotropic filtering enhances texture sharpness, counteracting the blur introduced by
mipmapping In computer graphics, a mipmap (''mip'' being an acronym of the Latin phrase ''multum in parvo'', meaning "much in little") is a pre-calculated, optimization (computer science), optimized sequence of digital image, images, each of which has an i ...
, a common
anti-aliasing Anti-aliasing may refer to any of a number of techniques to combat the problems of aliasing in a sampled signal such as a digital image or digital audio recording. Specific topics in anti-aliasing include: * Anti-aliasing filter, a filter used b ...
technique. Anisotropic filtering can therefore be said to maintain crisp texture detail at all viewing orientations while providing fast anti-aliased
texture filtering In computer graphics, texture filtering or texture smoothing is the method used to determine the texture color for a Texture mapping, texture mapped pixel, using the colors of nearby Texel (graphics), texels (ie. pixels of the texture). Filtering ...
. In traditional
isotropic In physics and geometry, isotropy () is uniformity in all orientations. Precise definitions depend on the subject area. Exceptions, or inequalities, are frequently indicated by the prefix ' or ', hence '' anisotropy''. ''Anisotropy'' is also ...
mipmapping, downsizing at each level halves the resolution on each axis simultaneously. As a result, when rendering a horizontal plane at an oblique angle to the camera, the minification would provide an insufficient horizontal resolution due to the reduction of image frequency in the vertical axis. That is, when sampling to avoid aliasing on a high-frequency axis, the other texture axes will be similarly downsampled and therefore potentially blurred. With mipmap anisotropic filtering, a texture of resolution 256px × 256px would not only be downsampled to 128px × 128px, but also to other non-square resolutions, such as 256px × 128px and 32px × 128px. These ''anisotropically downsampled'' images can be probed when the texture-mapped image frequency is different for each texture axis. Then, one axis is not blurred due to the screen frequency of another axis, and aliasing is still avoided. Mipmapping and its associated axis-alignment constraints mean it is suboptimal for true anisotropic filtering and is used here for illustrative purposes only. More general anisotropic filtering methods support anisotropic probes that are not necessarily axis-aligned in
texture space Texture mapping is a term used in computer graphics to describe how 2D images are projected onto 3D models. The most common variant is the UV unwrap, which can be described as an inverse paper cutout, where the surfaces of a 3D model are cut ap ...
, allowing for diagonal anisotropy.


Degree of anisotropy

Different degrees or ratios of anisotropic filtering can be applied during rendering. This degree refers to the maximum ratio of anisotropy supported by the filtering process. For example, 4:1 (pronounced “4-to-1”) anisotropic filtering will continue to sharpen more oblique textures beyond the range sharpened by 2:1. In practice, this means that in highly oblique texturing situations, a 4:1 filter will be twice as sharp as a 2:1 filter (it will display frequencies double that of the 2:1 filter). However, most of the scene will not require the 4:1 filter; only the more oblique and usually more distant pixels will require the sharper filtering. This means that as the degree of anisotropic filtering continues to double there are diminishing returns in terms of visible quality with fewer and fewer rendered pixels affected, and the results become less obvious to the viewer; only a relatively few highly oblique pixels, mostly on more distant geometry, will display visibly sharper textures in the scene with the higher degree of anisotropic filtering. The performance penalty also diminishes because fewer pixels require the data fetches of greater anisotropy. Current hardware rendering implementations set an upper bound on this ratio due to the additional hardware complexity and the aforementioned diminishing returns. Applications and users are able to adjust the ratio through driver and software settings up to the threshold.


Implementation

True anisotropic filtering probes the texture anisotropically on the fly on a per-pixel basis for any orientation of anisotropy. In graphics hardware, typically when the texture is sampled anisotropically, several probes (
texel Texel (; Texels dialect: ) is a municipality and an island with a population of 13,643 in North Holland, Netherlands. It is the largest and most populated island of the West Frisian Islands in the Wadden Sea. The island is situated north of Den ...
samples) of the texture around the center point are taken on a sample pattern mapped according to the projected shape of the texture at that pixel. Earlier software methods have used
summed-area table A summed-area table is a data structure and algorithm for quickly and efficiently generating the sum of values in a rectangular subset of a grid. In the image processing domain, it is also known as an integral image. It was introduced to computer ...
s. Each anisotropic filtering probe is often in itself a filtered mipmap sample, which adds more sampling to the process. Sixteen trilinear anisotropic samples might require 128 samples from the stored texture, as trilinear mipmap filtering needs to take four samples for each of the two mipmaps and then anisotropic sampling (at 16-tap) needs to take sixteen of these trilinear filtered probes. However, this level of filtering complexity is not required all the time. There are commonly available methods to reduce the amount of work the video rendering hardware must do. The anisotropic filtering method most commonly implemented on graphics hardware is the composition of the filtered pixel values from only one line of mipmap samples. In general, the method of building a texture filter result from multiple probes filling a projected pixel sampling into texture space is referred to as "footprint assembly", even where implementation details vary.


Performance and optimization

The sample count required can make anisotropic filtering extremely
bandwidth Bandwidth commonly refers to: * Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range * Bandwidth (computing), the rate of data transfer, bit rate or thr ...
-intensive. Multiple textures are common; each texture sample could be four bytes or more, so each anisotropic pixel could require 512 bytes from texture memory, although
texture compression Texture compression is a specialized form of image compression designed for storing texture maps in 3D computer graphics rendering systems. Unlike conventional image compression algorithms, texture compression algorithms are optimized for random ...
is commonly used to reduce this. A video display device can easily contain over two million pixels, and desired application framerates are often upwards of 60 frames per second. As a result, the required texture memory bandwidth may grow to large values. Ranges of hundreds of gigabytes per second of pipeline bandwidth for texture rendering operations is not unusual where anisotropic filtering operations are involved. Fortunately, several factors mitigate in favor of better performance: * The probes themselves share cached texture samples, both inter-pixel and intra-pixel. * Even with 16-tap anisotropic filtering, not all 16 taps are always needed because only distant ''highly oblique'' pixel fills tend to be highly anisotropic. * Highly anisotropic pixel fill tends to cover small regions of the screen (i.e. generally under 10%) * Texture magnification filters (as a general rule) require no anisotropic filtering.


See also

*
Anti-aliasing filter An anti-aliasing filter (AAF) is a filter used before a signal sampler to restrict the bandwidth of a signal to satisfy the Nyquist–Shannon sampling theorem over the band of interest. Since the theorem states that unambiguous reconstructi ...
*
Digital artifact Digital artifact in information science, is any undesired or unintended alteration in data introduced in a digital process by an involved technique and/or technology. Digital artifact can be of any content types including text, audio, video, ...
*
Distance fog Distance fog is a technique used in 3D computer graphics to enhance the perception of distance by shading distant objects differently. Because many of the shapes in graphical environments are relatively simple, and complex shadows are difficul ...
*
Draw distance Draw, drawing, draws, or drawn most commonly refer to: * Draw (terrain), a terrain feature formed by two parallel ridges or spurs with low ground in between them * Draw (tie), in a competition, where competitors achieve equal outcomes * Drawi ...
* Level of detail (LOD) *
Mipmap In computer graphics, a mipmap (''mip'' being an acronym of the Latin phrase ''multum in parvo'', meaning "much in little") is a pre-calculated, optimized sequence of images, each of which has an image resolution which is a factor of two small ...


References

{{Reflist


External links


The Naked Truth About Anisotropic Filtering
(2002-09-26)
Ripmapping
Texture filtering