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 |