Condividi tramite


Funzione D3DXFilterTexture

Filtra i livelli mipmap di una trama.

Sintassi

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

Parametri

pBaseTexture [in]

Tipo: LPDIRECT3DBASETEXTURE9

Puntatore a un'interfaccia IDirect3DBaseTexture9 che rappresenta l'oggetto trama da filtrare.

pPalette [out]

Tipo: const PALETTEENTRY*

Puntatore a una struttura PALETTEENTRY che rappresenta una tavolozza a 256 colori da riempire o NULL per i formati non formattati. Se non viene specificata una tavolozza, viene fornita la tavolozza Direct3D predefinita (una tavolozza bianca opaca). Vedere la sezione Osservazioni.

SrcLevel [in]

Tipo: UINT

Livello di cui viene usata l'immagine per generare i livelli successivi. Specificare D3DX_DEFAULT per questo parametro equivale a specificare 0.

MipFilter [in]

Tipo: DWORD

Combinazione di uno o più D3DX_FILTER controllo del modo in cui viene filtrato il mipmap. Specificare D3DX_DEFAULT per questo parametro equivale a specificare D3DX_FILTER_BOX se la dimensione della trama è una potenza di due e D3DX_FILTER_BOX | D3DX_FILTER_DITHER in caso contrario.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, il valore restituito viene D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA.

Commenti

Un filtro viene applicato in modo ricorsivo a ogni livello di trama per generare il livello di trama successivo.

La scrittura in una superficie non di livello zero della trama non causerà l'aggiornamento del rettangolo dirty. Se viene chiamato D3DXFilterTexture e la superficie non era già dirty (probabilmente in scenari di utilizzo normali), l'applicazione deve chiamare in modo esplicito AddDirtyRect sulla trama.

Le trame create nel pool predefinito (D3DPOOL_DEFAULT) non possono essere usate con D3DXFilterTexture (a meno che non venga creato con D3DUSAGE_DYNAMIC) perché è necessaria un'operazione di blocco nell'oggetto. Si noti che i blocchi non sono consentiti per le trame nel pool predefinito (a meno che non siano dinamiche).

Per informazioni dettagliate su PALETTEENTRY, vedere Platform SDK. Si noti che a partire da DirectX 8.0, il membro peFlags della struttura PALETTEENTRY non funziona come documentato in Platform SDK. Il membro peFlags è ora il canale alfa per i formati palettizzati a 8 bit.

Esiste una sola funzione di filtro delle trame, ma due macro che chiamano questo metodo.

#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture

Requisiti

Requisito Valore
Intestazione
D3dx9tex.h
Libreria
D3dx9.lib

Vedi anche

Funzioni trama in D3DX 9