D3DXFilterTexture 関数
テクスチャのミップマップ レベルをフィルター処理します。
構文
HRESULT D3DXFilterTexture(
_In_ LPDIRECT3DBASETEXTURE9 pBaseTexture,
_Out_ const PALETTEENTRY *pPalette,
_In_ UINT SrcLevel,
_In_ DWORD MipFilter
);
パラメーター
-
pBaseTexture [in]
-
フィルター処理するテクスチャ オブジェクトを表す IDirect3DBaseTexture9 インターフェイスへのポインター。
-
pPalette [out]
-
型: const PALETTEENTRY*
塗りつぶす 256 色パレットを表す PALETTEENTRY 構造体へのポインター。非設定形式の場合は NULL 。 パレットを指定しない場合は、既定の Direct3D パレット (すべての不透明な白いパレット) が提供されます。 「解説」を参照してください。
-
SrcLevel [in]
-
型: UINT
後続のレベルを生成するためにイメージが使用されるレベル。 このパラメーターにD3DX_DEFAULTを指定することは、0 を指定することと同じです。
-
MipFilter [in]
-
型: DWORD
ミップマップのフィルター処理方法を制御する 1 つ以上の D3DX_FILTER の組み合わせ。 このパラメーターのD3DX_DEFAULTを指定することは、テクスチャ サイズが 2 の累乗である場合にD3DX_FILTER_BOXを指定することと同じであり、D3DX_FILTER_BOX |それ以外の場合D3DX_FILTER_DITHER。
戻り値
型: HRESULT
関数が成功した場合、戻り値はD3D_OK。 関数が失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA。
注釈
フィルターは、次のテクスチャ レベルを生成するために、各テクスチャ レベルに再帰的に適用されます。
テクスチャのレベル 0 以外のサーフェスに書き込んだ場合、ダーティ四角形は更新されません。 D3DXFilterTexture が呼び出され、サーフェスがまだダーティされていない場合 (通常の使用シナリオではそうはいかない)、アプリケーションはテクスチャで AddDirtyRect を明示的に呼び出す必要があります。
既定のプール (D3DPOOL_DEFAULT) で作成されたテクスチャは、オブジェクトに対してロック操作が必要であるため、 D3DXFilterTexture (D3DUSAGE_DYNAMIC で作成されない限り) 使用できません。 既定のプール内のテクスチャでは、ロックは禁止されています (動的でない限り)。
PALETTEENTRY の詳細については、プラットフォーム SDK に関するページを参照してください。 DirectX 8.0 以降、 PALETTEENTRY 構造体の peFlags メンバーは、プラットフォーム SDK に記載されているように機能しないことに注意してください。 peFlags メンバーは、8 ビットの淡色化された形式のアルファ チャネルになりました。
テクスチャ フィルター関数は 1 つだけですが、このメソッドを呼び出す 2 つのマクロがあります。
#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
こちらもご覧ください