D3DXFilterTexture 関数

テクスチャのミップマップ レベルをフィルター処理します。

構文

HRESULT D3DXFilterTexture(
  _In_        LPDIRECT3DBASETEXTURE9 pBaseTexture,
  _Out_ const PALETTEENTRY           *pPalette,
  _In_        UINT                   SrcLevel,
  _In_        DWORD                  MipFilter
);

パラメーター

pBaseTexture [in]

種類: LPDIRECT3DBASETEXTURE9

フィルター処理するテクスチャ オブジェクトを表す 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

要件

要件
ヘッダー
D3dx9tex.h
ライブラリ
D3dx9.lib

こちらもご覧ください

D3DX 9 のテクスチャ関数