Compartir a través de


Función D3DXFilterTexture

Filtra los niveles de mapa mip de una textura.

Sintaxis

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

Parámetros

pBaseTexture [in]

Tipo: LPDIRECT3DBASETEXTURE9

Puntero a una interfaz IDirect3DBaseTexture9 que representa el objeto de textura que se va a filtrar.

pPalette [out]

Tipo: const PALETTEENTRY*

Puntero a una estructura PALETTEENTRY que representa una paleta de 256 colores que se va a rellenar o NULL para formatos no autenticados. Si no se especifica una paleta, se proporciona la paleta predeterminada de Direct3D (una paleta blanca opaca). Vea la sección Comentarios.

SrcLevel [in]

Tipo: UINT

Nivel cuya imagen se usa para generar los niveles posteriores. Especificar D3DX_DEFAULT para este parámetro equivale a especificar 0.

MipFilter [in]

Tipo: DWORD

Combinación de uno o varios D3DX_FILTER controlar cómo se filtra el mapa mip. Especificar D3DX_DEFAULT para este parámetro es equivalente a especificar D3DX_FILTER_BOX si el tamaño de textura es una potencia de dos y D3DX_FILTER_BOX | D3DX_FILTER_DITHER de lo contrario.

Valor devuelto

Tipo: HRESULT

Si la función se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA.

Comentarios

Un filtro se aplica recursivamente a cada nivel de textura para generar el siguiente nivel de textura.

Escribir en una superficie que no sea de nivel cero de la textura no hará que se actualice el rectángulo sucio. Si se llama a D3DXFilterTexture y la superficie aún no estaba desfasada (esto es poco probable en escenarios de uso normales), la aplicación debe llamar explícitamente a AddDirtyRect en la textura.

Las texturas creadas en el grupo predeterminado (D3DPOOL_DEFAULT) no se pueden usar con D3DXFilterTexture (a menos que se cree con D3DUSAGE_DYNAMIC) porque se necesita una operación de bloqueo en el objeto . Tenga en cuenta que los bloqueos están prohibidos en las texturas del grupo predeterminado (a menos que sean dinámicos).

Para más información sobre PALETTEENTRY, consulte el SDK de plataforma. Tenga en cuenta que, a partir de DirectX 8.0, el miembro peFlags de la estructura PALETTEENTRY no funciona como se documenta en el SDK de plataforma. El miembro peFlags ahora es el canal alfa para formatos palettizados de 8 bits.

Solo hay una función de filtrado de texturas, pero dos macros que llaman a este método.

#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture

Requisitos

Requisito Value
Encabezado
D3dx9tex.h
Biblioteca
D3dx9.lib

Consulte también

Funciones de textura en D3DX 9