Compartilhar via


Função D3DXFilterTexture

Filtra os níveis de mipmap de uma textura.

Sintaxe

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

Parâmetros

pBaseTexture [in]

Tipo: LPDIRECT3DBASETEXTURE9

Ponteiro para uma interface IDirect3DBaseTexture9 que representa o objeto de textura a ser filtrado.

pPalette [out]

Tipo: const PALETTEENTRY*

Ponteiro para uma estrutura PALETTEENTRY que representa uma paleta de 256 cores a ser preenchida ou NULL para formatos não armazenados. Se uma paleta não for especificada, a paleta direct3D padrão (uma paleta de brancos opaca) será fornecida. Consulte Observações.

SrcLevel [in]

Tipo: UINT

Nível cuja imagem é usada para gerar os níveis subsequentes. Especificar D3DX_DEFAULT para esse parâmetro é equivalente a especificar 0.

MipFilter [in]

Tipo: DWORD

Combinação de uma ou mais D3DX_FILTER controlar como o mipmap é filtrado. Especificar D3DX_DEFAULT para esse parâmetro é o equivalente a especificar D3DX_FILTER_BOX se o tamanho da textura for uma potência de dois e D3DX_FILTER_BOX | D3DX_FILTER_DITHER caso contrário.

Valor retornado

Tipo: HRESULT

Se a função for bem-sucedida, o valor retornado será D3D_OK. Se a função falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA.

Comentários

Um filtro é aplicado recursivamente a cada nível de textura para gerar o próximo nível de textura.

Gravar em uma superfície sem nível zero da textura não fará com que o retângulo sujo seja atualizado. Se D3DXFilterTexture for chamado e a superfície ainda não estiver sujo (isso é improvável em cenários de uso normal), o aplicativo precisará chamar explicitamente AddDirtyRect na textura.

Texturas criadas no pool padrão (D3DPOOL_DEFAULT) não podem ser usadas com D3DXFilterTexture (a menos que criadas com D3DUSAGE_DYNAMIC) porque uma operação de bloqueio é necessária no objeto . Observe que os bloqueios são proibidos em texturas no pool padrão (a menos que sejam dinâmicos).

Para obter detalhes sobre PALETTEENTRY, consulte o SDK da plataforma. Observe que, a partir do DirectX 8.0, o membro peFlags da estrutura PALETTEENTRY não funciona conforme documentado no SDK da Plataforma. O membro peFlags agora é o canal alfa para formatos palettizados de 8 bits.

Há apenas uma função de filtragem de textura, mas duas macros que chamam esse método.

#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture

Requisitos

Requisito Valor
parâmetro
D3dx9tex.h
Biblioteca
D3dx9.lib

Confira também

Funções de textura no D3DX 9