D3DXFilterTexture 函式
篩選紋理的 Mipmap 層級。
語法
HRESULT D3DXFilterTexture(
_In_ LPDIRECT3DBASETEXTURE9 pBaseTexture,
_Out_ const PALETTEENTRY *pPalette,
_In_ UINT SrcLevel,
_In_ DWORD MipFilter
);
參數
-
pBaseTexture [in]
-
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
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱