All this little by little reveals the idea behind tri-linear filtering implemented in DeltaChrome: instead of selecting 4 texturing samples from each MIP-level, DeltaChrome can select 16 samples from only one MIP-level and then sum them up with corresponding weight coefficients, so that the obtained result is math1ematically correct and corresponds to the result of “traditional” tri-linear filtering. All the calculations involved into tri-linear filtering algorithms from S3 Graphics are not that complicated, so that even Savage4 learned to perform then within a single pass.
Of course, DeltaChrome can also perform “classical” tri-linear filtering, but their own “home” implementation algorithm boasts a lot of advantages over the traditional ways. First, in any moment of time the pixel pipeline texturing unit requires only one MIP-level for any type of filtering that is why the texturing cache can be used in a more optimal and efficient way. DeltaChrome doesn’t have to store two MIP-levels of one texture in the cache, so it can use the available space for additional data from the same MIP-level. This increases the probability that the data requested by the texturing unit in a given moment of time will be already stored in the cache, which will save time and trouble requesting this data from the graphics memory and waiting for it. This definitely reduces the amount of data to be transferred along the memory bus. Second, it is very convenient to use texture compression together with this tri-linear filtering method. For example, the basic S3TC algorithm works exactly with 4x4 texel blocks. Texturing data can be compressed “on the fly”, transferred along all channels (even the sampled texturing blocks can be compressed), and unpacked directly before use. It will also significantly reduce the graphics memory bus workload.
Anisotropic filtering as performed by DeltaChrome also boasts a few remarkable peculiarities. The details about anisotropic filtering implementation haven’t been made public yet, but we still have the opportunity to evaluate some specific advantages of this algorithm. At first have a look at the screenshots taken in 3DMark 2003, which illustrate the work of bilinear, tri-linear, anisotropic, and a combination of tri-linear + anisotropic filtering algorithms. For your convenience the MIP-levels are highlighted.
In case of bilinear filtering DeltaChrome didn’t surprise us with anything.
Here DeltaChrome evidently used the “classical” tri-linear filtering algorithm. If it had applied its “own” algorithm, the image would have been just the same as in case of “regular” tri-linear filtering. However, the highlighted MIP-levels would have shown that it has used only bilinear filtering. The explanation of this phenomenon is very simple: since DeltaChrome uses the info taken from only one single MIP-level to perform tri-linear filtering, the “highlights” for different MIP-levels will never get mixed together.