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
控制 mipmap 筛选方式的一个或多个 D3DX_FILTER 的组合。 为此参数指定D3DX_DEFAULT等效于指定D3DX_FILTER_BOX(如果纹理大小为 2 的幂),D3DX_FILTER_BOX |否则D3DX_FILTER_DITHER。
返回值
类型: HRESULT
如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是以下值之一:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA。
备注
筛选器以递归方式应用于每个纹理级别,以生成下一个纹理级别。
写入纹理的非零级图面不会导致更新脏矩形。 如果调用了 D3DXFilterTexture,并且表面尚未脏 (这在正常使用方案中不太可能) ,则应用程序需要在纹理上显式调用 AddDirtyRect。
在默认池 (D3DPOOL_DEFAULT) 中创建的纹理不能与 D3DXFilterTexture (一起使用,除非使用 D3DUSAGE_DYNAMIC) 创建,因为需要对 对象执行锁定操作。 请注意,默认池 (中的纹理上禁止锁定,除非它们是动态) 。
有关 PALETTEENTRY 的详细信息,请参阅平台 SDK。 请注意,从 DirectX 8.0 开始, PALETTEENTRY 结构的 peFlags 成员的功能不如平台 SDK 中所述。 peFlags 成员现在是 8 位淡化格式的 alpha 通道。
只有一个纹理筛选函数,但有两个调用此方法的宏。
#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅