概述
Direct3D把複雜的紋理過濾過程簡化了,它給應用程式提供了三種類型的紋理過濾——線性過濾、各向異性過濾和mipmap過濾。如果應用程式不選擇以上三種紋理過濾,那么Direct3D使用一種被稱為最近點取樣的技術,因為三維物體表面與螢幕間的夾角而造成的紋理扭曲被稱為各向異性。當把一個各向異性的圖元所對應的像素映射到texel時,像素的形狀會被扭曲。Microsoft® Direct3D®根據像素被反向映射到紋理空間中的伸長率——也就是長度除以寬度——計量螢幕上像素的各向異性屬性。
為了提高渲染質量,應用程式可以把各向異性過濾與線性紋理過濾或Mipmap紋理過濾結合在一起使用。應用程式可以調用IDirect3DDevice9::SetSamplerState方法啟用各向異性紋理過濾,只需把第三個參數設為D3DTEXF_ANISOTROPIC即可。
設定方法
應用程式必須同時把degree of anisotropy設為大於一的值。可以調用IDirect3DDevice9::SetSamplerState方法設定這個值。第一個參數為0到7的紋理層索引值,把第二個參數設為D3DSAMP_MAXANISOTROPY,第三個參數為要設定的degree of anisotropy(譯註:原文為degree of isotropy)的值。
應用程式只需把degree of anisotropy(譯註:原文為degree of isotropy)設為一即可禁用各向異性過濾。要確定degree of anisotropy的允許範圍,可以檢查D3DCAPS9結構的MaxAnisotropy成員。
作用
於減少經各向異性過濾的紋理樣本的數目以確定關聯於一圖形片斷的一紋理值的技術。減少經各向異性過濾的紋理樣本的數目會減少讀取的紋理樣本的數目並簡化過濾計算。可程式旋鈕用於在紋理空間中縮短一像素的印跡,從而減少在各向異性過濾期間使用的紋理樣本的數目。這些旋鈕允許用戶確定改善的紋理圖性能與各向異性紋理過濾質量之間的一平衡。