07.01.2013 Views

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Anisotropic filtering 10<br />

will only be double that of the 8:1 filter. The performance penalty also diminishes because fewer pixels require the<br />

data fetches of greater anisotropy.<br />

In the end it is the additional hardware complexity vs. these diminishing returns, which causes an upper bound to be<br />

set on the anisotropic quality in a hardware design. Applications and users are then free to adjust this trade-off<br />

through driver and software settings up to this threshold.<br />

Implementation<br />

True anisotropic filtering probes the texture anisotropically on the fly on a per-pixel basis for any orientation of<br />

anisotropy.<br />

In <strong>graphics</strong> hardware, typically when the texture is sampled anisotropically, several probes (texel samples) of the<br />

texture around the center point are taken, but on a sample pattern mapped according to the projected shape of the<br />

texture at that pixel.<br />

Each anisotropic filtering probe is often in itself a filtered MIP map sample, which adds more sampling to the<br />

process. Sixteen trilinear anisotropic samples might require 128 samples from the stored texture, as trilinear MIP<br />

map filtering needs to take four samples times two MIP levels and then anisotropic sampling (at 16-tap) needs to<br />

take sixteen of these trilinear filtered probes.<br />

However, this level of filtering complexity is not required all the time. There are commonly available methods to<br />

reduce the amount of work the video rendering hardware must do.<br />

Performance and optimization<br />

The sample count required can make anisotropic filtering extremely bandwidth-intensive. Multiple textures are<br />

common; each texture sample could be four bytes or more, so each anisotropic pixel could require 512 bytes from<br />

texture memory, although texture compression is commonly used to reduce this.<br />

As a video display device can easily contain over a million pixels, and as the desired frame rate can be as high as<br />

30–60 frames per second (or more) the texture memory bandwidth can become very high very quickly. Ranges of<br />

hundreds of gigabytes per second of pipeline bandwidth for texture rendering operations is not unusual where<br />

anisotropic filtering operations are involved.<br />

Fortunately, several factors mitigate in favor of better performance:<br />

• The probes themselves share cached texture samples, both inter-pixel and intra-pixel.<br />

• Even with 16-tap anisotropic filtering, not all 16 taps are always needed because only distant highly oblique pixel<br />

fills tend to be highly anisotropic.<br />

• Highly Anisotropic pixel fill tends to cover small regions of the screen (i.e. generally under 10%)<br />

• Texture magnification filters (as a general rule) require no anisotropic filtering.<br />

External links<br />

• The Naked Truth About Anisotropic Filtering [1]<br />

References<br />

[1] http:/ / www. extremetech. com/ computing/ 51994-the-naked-truth-about-anisotropic-filtering

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!