異方性テクスチャ フィルタリング (Direct3D 9)
サーフェスが画面の平面に対してある角度で向いている 3D オブジェクトのテクセルに見える歪みは、異方性と呼ばれます。 異方性プリミティブのピクセルをテクセルにマッピングすると、形状がゆがみます。 Direct3D では、テクスチャ空間に逆マッピングされたスクリーン ピクセルの伸長度 (長さを幅で割ったもの) としてピクセルの異方性を測定します。
異方性テクスチャ フィルタリングを線形テクスチャ フィルタリングまたはミップマップ テクスチャ フィルタリングと共に使用することで、レンダリング結果を向上させることができます。 アプリケーションでは、 IDirect3DDevice9::SetSamplerState メソッドを呼び出して、異方性テクスチャ フィルター処理を有効にします。 最初のパラメーターの値を、テクスチャ フィルター方法を選択するテクスチャの整数インデックス番号 (0 から 7) に設定します。 2 番目のパラメーターにD3DSAMP_MAGFILTER、D3DSAMP_MINFILTER、またはD3DSAMP_MIPFILTERを渡して、倍率、縮小、またはミップマップ フィルターを設定します。 3 番目のパラメーターを D3DTEXF_ANISOTROPIC に設定します。
また、アプリケーションでは、異方性の次数を 1 より大きい値に設定する必要があります。 これを行うには、 IDirect3DDevice9::SetSamplerState メソッドを呼び出します。 最初のパラメーターの値を、等方性の程度を設定するテクスチャの整数インデックス番号 (0 から 7) に設定します。 D3DSAMP_MAXANISOTROPYを 2 番目のパラメーターの値として渡します。 最後のパラメーターは等方性の程度である必要があります。
等方性フィルター処理を無効にするには、等方性の次数を 1 に設定します。1 より大きい値を指定すると、有効になります。 D3DCAPS9 構造体の MaxAnisotropy フラグを調べて、異方性の程度に対して可能な値の範囲を決定します。
関連トピック