在 3D 物件的紋素中可見的失真,當物件表面的方向與螢幕平面呈角度時,這種現象被稱為異向性。 當來自非等性基本類型的像素對應到紋素時,其形狀會扭曲。 Direct3D 將圖元的各向異性測量為長度除以寬度,即螢幕圖元被反向映射到紋理空間。
您可以搭配線性紋理篩選或Mipmap紋理篩選使用非等性紋理篩選,以改善轉譯結果。 您的應用程式會呼叫 IDirect3DDevice9::SetSamplerState 方法來啟用異向紋理篩選。 將第一個參數的值設定為您選取紋理篩選方法的整數索引編號 (0-7)。 傳遞第二個參數的 D3DSAMP_MAGFILTER、D3DSAMP_MINFILTER 或 D3DSAMP_MIPFILTER,以設定放大、縮小或 mipmap 篩選。 將第三個參數設定為 D3DTEXF_ANISOTROPIC。
您的應用程式也必須將非等性程度設定為大於一的值。 呼叫 IDirect3DDevice9::SetSamplerState 方法來執行此動作。 將第一個參數的值設定為您要設定等向性程度的紋理的整數索引編號(0-7)。 傳遞D3DSAMP_MAXANISOTROPY做為第二個參數的值。 最後一個參數應該是等向性的程度。
您可以將等向性的程度設定為 1,以停用等向性過濾;任何大於 1 的值會啟用它。 檢查 D3DCAPS9 結構中的 MaxAnisotropy 旗標,以確定各向異性程度的可能值範圍。
相關主題