Share via


D3DXFilterTexture 関数

D3DXFilterTexture 関数

テクスチャのミップマップ レベルをフィルタリングする。

構文

HRESULT D3DXFilterTexture(      
    LPDIRECT3DBASETEXTURE9 pBaseTexture,
    CONST PALETTEENTRY *pPalette,
    UINT SrcLevel,
    DWORD MipFilter
);

パラメータ

  • pBaseTexture
    [in] フィルタリングするテクスチャ オブジェクトを表す IDirect3DBaseTexture9 インターフェイスへのポインタ。
  • pPalette
    [out] 格納する 256 色パレットを表す PALETTEENTRY 構造体へのポインタ、または非パレット形式の場合は NULL。パレットが指定されていない場合は、デフォルトの Microsoft® Direct3D® パレット (全部不透明な白のパレット) が提供される。「注意」を参照すること。
  • SrcLevel
    [in] 下のレベルを生成するためにイメージを使用するレベル。このパラメータに D3DX_DEFAULT を指定することは、0 を指定することと等しい。
  • MipFilter
    [in] ミップマップをフィルタリングする方法を制御する 1 つ以上の D3DX_FILTER の組み合わせ。このパラメータに D3DX_DEFAULT を指定することは、テクスチャ サイズが 2 の累乗の場合は D3DX_FILTER_BOX を指定することと等しく、それ以外の場合は D3DX_FILTER_BOX | D3DX_FILTER_DITHER を指定することと等しい。

戻り値

成功した場合は、D3D_OK を返す。

失敗した場合は、次のいずれかの値を返す。

D3DERR_INVALIDCALL メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。
D3DXERR_INVALIDDATA データが無効である。

注意

各テクスチャ レベルで再帰的にボックス フィルタを適用して次のテクスチャ レベルを生成する。

テクスチャのレベル ゼロ以外のサーフェイスに書き込んでも、ダーティー矩形は更新されない。D3DXFilterTexture を呼び出したときに、サーフェイスがまだダーティーでない (そのようなことは、通常の使用方法ではあり得ない) 場合、アプリケーションはテクスチャに対して IDirect3DTexture9::AddDirtyRect を明示的に呼び出す必要がある。

デフォルトのプール (D3DPOOL_DEFAULT) に作成されたテクスチャを D3DXFilterTexture と共に使用することはできない。オブジェクトに対するロック処理が必要なためである。デフォルト プール内のテクスチャに対するロックは禁止されている。

PALETTEENTRY の詳細については、Microsoft Platform Software Development Kit (SDK) を参照すること。Microsoft DirectX® 8.0 の時点で、PALETTEENTRY 構造体の peFlags メンバは、Platform SDK に説明されているようには機能しない。peFlags メンバは、現在、8 ビット パレット化フォーマットのアルファ チャンネルである。

テクスチャ フィルタリング関数は 1 つだけだが、このメソッドを呼び出すマクロは 2 つある。

#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture

関数の情報

ヘッダー d3dx9tex.h
インポート ライブラリ d3dx9.lib
最低限のオペレーティング システム Windows 98