D3DXFilterTexture-Funktion

Filtert Mipmap-Ebenen einer Textur.

Syntax

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

Parameter

pBaseTexture [in]

Typ: LPDIRECT3DBASETEXTURE9

Zeiger auf eine IDirect3DBaseTexture9-Schnittstelle , die das zu filternde Texturobjekt darstellt.

pPalette [out]

Typ: const PALETTEENTRY*

Zeiger auf eine PALETTEENTRY-Struktur , die eine 256-Farbpalette zum Ausfüllen darstellt, oder NULL für nichtpalettierte Formate. Wenn keine Palette angegeben ist, wird die Direct3D-Standardpalette (eine all opake weiße Palette) bereitgestellt. Siehe Hinweise.

SrcLevel [in]

Typ: UINT

Ebene, deren Image verwendet wird, um die nachfolgenden Ebenen zu generieren. Das Angeben D3DX_DEFAULT für diesen Parameter entspricht der Angabe von 0.

MipFilter [in]

Typ: DWORD

Kombination aus einem oder mehreren D3DX_FILTER steuern, wie die mipmap gefiltert wird. Das Angeben D3DX_DEFAULT für diesen Parameter entspricht der Angabe D3DX_FILTER_BOX, wenn die Texturgröße eine Leistung von zwei ist, und D3DX_FILTER_BOX | D3DX_FILTER_DITHER anders.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden sein: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA.

Bemerkungen

Ein Filter wird rekursiv auf jede Texturebene angewendet, um die nächste Texturebene zu generieren.

Das Schreiben auf eine Oberfläche der Textur, die keine Ebene null aufweist, führt nicht dazu, dass das modifiziert Rechteck aktualisiert wird. Wenn D3DXFilterTexture aufgerufen wird und die Oberfläche noch nicht modifiziert wurde (dies ist in normalen Verwendungsszenarien unwahrscheinlich), muss die Anwendung AddDirtyRect explizit für die Textur aufrufen.

Im Standardpool (D3DPOOL_DEFAULT) erstellte Texturen können nicht mit D3DXFilterTexture verwendet werden (es sei denn, sie werden mit D3DUSAGE_DYNAMIC erstellt), da für das Objekt ein Sperrvorgang erforderlich ist. Beachten Sie, dass Sperren für Texturen im Standardpool verboten sind (sofern sie nicht dynamisch sind).

Ausführliche Informationen zu PALETTEENTRY finden Sie im Platform SDK. Beachten Sie, dass das peFlags-Element der PALETTEENTRY-Struktur ab DirectX 8.0 nicht wie im Platform SDK dokumentiert funktioniert. Das peFlags-Element ist jetzt der Alphakanal für palettisierte 8-Bit-Formate.

Es gibt nur eine Texturfilterfunktion, aber zwei Makros, die diese Methode aufrufen.

#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture

Anforderungen

Anforderung Wert
Header
D3dx9tex.h
Bibliothek
D3dx9.lib

Siehe auch

Texturfunktionen in D3DX 9