D3DXFilterTexture 函式

篩選紋理的 Mipmap 層級。

語法

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

參數

pBaseTexture [in]

類型: LPDIRECT3DBASETEXTURE9

IDirect3DBaseTexture9介面的指標,表示要篩選的紋理物件。

pPalette [out]

類型:const PALETTEENTRY*

PALETTEENTRY結構的指標,代表要填入的 256 色盤,或針對非固定格式為Null。 如果未指定調色盤,則會提供預設的 Direct3D 調色盤 (所有不透明的白色調色盤) 。 請參閱<備註>。

SrcLevel [in]

類型: UINT

映射用來產生後續層級的層級。 為此參數指定D3DX_DEFAULT相當於指定 0。

MipFilter [in]

類型: DWORD

一或多個 D3DX_FILTER 控制 mipmap 篩選方式的組合。 指定此參數的D3DX_DEFAULT相當於如果紋理大小是兩個的乘冪,則指定D3DX_FILTER_BOX,而D3DX_FILTER_BOX |否則D3DX_FILTER_DITHER。

傳回值

類型: HRESULT

如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL,D3DXERR_INVALIDDATA。

備註

篩選準則會以遞迴方式套用至每個紋理層級,以產生下一個紋理層級。

寫入紋理的非層級零表面,將不會更新已變更的矩形。 如果 呼叫 D3DXFilterTexture ,而且表面尚未變更 (這不太可能在一般使用案例中) ,應用程式必須在紋理上明確呼叫 AddDirtyRect

除非使用 D3DUSAGE_DYNAMIC) 建立,否則在預設集區中建立的紋理 (D3DPOOL_DEFAULT) 不能與 D3DXFilterTexture (搭配使用,因為物件上需要鎖定作業。 請注意,除非是動態) ,否則預設集區中的紋理會禁止鎖定 (。

如需 PALETTEENTRY的詳細資訊,請參閱平臺 SDK。 請注意,從 DirectX 8.0 起, PALETTEENTRY 結構的 peFlags 成員不會如平臺 SDK 中所述。 peFlags 成員現在是 8 位 Palettized 格式的 Alpha 色板。

只有一個紋理篩選函式,但兩個呼叫此方法的宏。

#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture

規格需求

需求
標頭
D3dx9tex.h
程式庫
D3dx9.lib

另請參閱

D3DX 9 中的紋理函式