Microsoft DirectX 8.0 (C++)

D3DTEXTUREFILTERTYPE

テクスチャ ステージに対するテクスチャ フィルタリング モードを定義する。

typedef enum _D3DTEXTUREFILTERTYPE {
    D3DTEXF_NONE            = 0,
    D3DTEXF_POINT           = 1,
    D3DTEXF_LINEAR          = 2,
    D3DTEXF_ANISOTROPIC     = 3,
    D3DTEXF_FLATCUBIC       = 4,
    D3DTEXF_GAUSSIANCUBIC   = 5,

    D3DTEXF_FORCE_DWORD     = 0x7fffffff
} D3DTEXTUREFILTERTYPE;

定数

D3DTEXF_NONE
ミップマップ処理を無効にする。ラスタライザは代わりに拡大フィルタを使用する。
D3DTEXF_POINT
テクスチャの拡大フィルタまたは縮小フィルタとして使われる点フィルタリング。希望のピクセル値に最も近い座標を持つテクセルを使用する。

ミップマップ レベル間で使われるテクスチャ フィルタは、最近点ミップマップ フィルタである。ラスタライザは最も近いミップマップ テクスチャのテクセルからの色を使用する。

D3DTEXF_LINEAR
テクスチャの拡大フィルタまたは縮小フィルタとして使われるバイリニア補間フィルタリング。希望のピクセルを囲む 2 x 2 領域のテクセルの重み付き平均を使用する。

ミップマップ レベル間で使われるテクスチャ フィルタは、トライリニア ミップマップ補間である。ラスタライザは、最も近いミップマップ テクスチャ 2 点からのテクセルを使用してピクセル色を線形補間する。

D3DTEXF_ANISOTROPIC
テクスチャの拡大フィルタまたは縮小フィルタとして使われる異方性テクスチャ フィルタリング。テクスチャ ポリゴンとスクリーン平面間の角度の相違により起こる歪みを補正する。
D3DTEXF_FLATCUBIC
テクスチャ拡大フィルタとして使われる平面キューブ フィルタリング。
D3DTEXF_GAUSSIANCUBIC
テクスチャ拡大フィルタとして使われるガウス キューブ フィルタリング。
D3DTEXF_FORCE_DWORD
この列挙型を強制的に 32 ビット サイズにコンパイルする。この値は使用されていない。

注意

デバイスの有効なフィルタリング モードがすべてボリューム マップに適用されるわけではない。一般的に、ボリューム マップでは、D3DTEXF_POINT および D3DTEXF_LINEAR 拡大フィルタがサポートされている。D3DPTEXTURECAPS_MIPVOLUMEMAP が設定されている場合、ボリュームマップでは、D3DTEXF_POINT ミップマップ フィルタと、D3DTEXF_POINT および D3DTEXF_LINEAR 縮小フィルタがサポートされる。デバイスは、ボリューム マップの D3DTEXF_LINEAR ミップマップ フィルタをサポートする場合と、しない場合がある。DirectX 8 デバイスが 2D マップの異方性フィルタリングをサポートしている場合には、必ずしもボリューム マップの異方性フィルタリングをサポートしている必要はない。ただし、異方性フィルタリングがサポートされていない場合、異方性フィルタリングを使用するアプリケーションでは、最も有効なフィルタリング (線形など) を受け取る。

テクスチャ ステージの拡大フィルタを設定するには、IDirect3DDevice8::SetTextureStageState メソッドを呼び出し、第 2 パラメータとして D3DTSS_MAGFILTER 値を指定し、第 3 パラメータとしてこの列挙のメンバのいずれかを指定する。

テクスチャ ステージの縮小フィルタを設定するには、SetTextureStageState メソッドを呼び出し、第 2 パラメータとして D3DTSS_MINFILTER 値を指定し、第 3 パラメータとしてこの列挙のメンバのいずれかを指定する。

ミップマップ レベル間で使用するテクスチャ フィルタを設定するには、SetTextureStageState メソッドを呼び出し、第 2 パラメータとして D3DTSS_MIPFILTER 値を指定し、第 3 パラメータとしてこの列挙のメンバのいずれかを指定する。

動作環境

  ヘッダー : D3d8types.h で宣言。

参照

D3DTEXTURESTAGESTATETYPE