次の方法で共有


異方性テクスチャー フィルタリング (Direct3D 9)

サーフェスがスクリーンの平面に対して角度をなして配置されている 3D オブジェクトのテクセルに見られるゆがみを異方性と呼びます。異方性プリミティブのピクセルをテクセルにマッピングすると、形状がゆがみます。Direct3D では、テクスチャー空間に逆マッピングされたスクリーン ピクセルの伸長度 (長さを幅で割ったもの) としてピクセルの異方性を測定します。

異方性テクスチャー フィルタリングを線形テクスチャー フィルタリングまたはミップマップ テクスチャー フィルタリングと共に使用することで、レンダリング結果を向上させることができます。アプリケーションで異方性テクスチャー フィルタリングを有効にするには、IDirect3DDevice9::SetSamplerState メソッドを呼び出します。最初のパラメーターの値には、テクスチャー フィルタリングに選択するテクスチャーの整数インデックス番号 (0 ~ 7) に設定します。2 番目のパラメーターとして、D3DSAMP_MAGFILTER、D3DSAMP_MINFILTER、または D3DSAMP_MIPFILTER を渡して、拡大、縮小、またはミップマップ フィルターを設定します。3 番目のパラメーターを D3DTEXF_ANISOTROPIC に設定します。

また、異方性の次数を 1 より大きい値に設定する必要があります。そのためには、IDirect3DDevice9::SetSamplerState メソッドを呼び出します。最初のパラメーターの値を、等方性の次数を設定するテクスチャーの整数インデックス番号 (0 ~ 7) に設定します。2 番目のパラメーターの値として D3DSAMP_MAXANISOTROPY を渡します。最初のパラメーターは、必ず等方性にします。

等方性フィルタリングを無効にするには、等方性の次数を 1 に設定します。1 より大きい値を設定すると、等方性フィルタリングが有効になります。異方性の次数として使用可能な値の範囲を確認するには、D3DCAPS9 構造体の MaxAnisotropy フラグをチェックします。