D3DXFilterTexture-Funktion

Filtert Mipmapebenen 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 zu füllende 256-Farbpalette darstellt, oder NULL für nichtpalettierte Formate. Wenn keine Palette angegeben wird, wird die Direct3D-Standardpalette (eine nicht transparente weiße Palette) bereitgestellt. Siehe Hinweise.

SrcLevel [ In]

Typ: UINT

Ebene, deren Bild zum Generieren der nachfolgenden Ebenen verwendet wird. Die Angabe von D3DX DEFAULT für diesen Parameter entspricht der Angabe _ von 0.

MipFilter [ In]

Typ: DWORD

Kombination aus mindestens einem D3DX-FILTER, _ der steuert, wie die Mipmap gefiltert wird. Die Angabe von D3DX DEFAULT für diesen Parameter entspricht der Angabe von D3DX FILTER BOX, wenn die Texturgröße eine Zweierleistung hat, andernfalls _ _ _ D3DX _ FILTER _ BOX | D3DX _ FILTER _ DITHER.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, ist der Rückgabewert D3D _ OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden sein: D3DERR _ INVALIDCALL, D3DXERR _ INVALIDDATA.

Hinweise

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

Das Schreiben auf eine Texturoberfläche, die keine Ebene 0 (null) aufgibt, verursacht keine Aktualisierung des geänderten Rechtecks. Wenn D3DXFilterTexture aufgerufen wird und die Oberfläche noch nicht angepasst wurde (dies ist in normalen Verwendungsszenarien unwahrscheinlich), muss die Anwendung AddDirtyRect explizit für die Textur aufrufen.

Im Standardpool erstellte Texturen (D3DPOOL DEFAULT) können nicht mit _ D3DXFilterTexture verwendet werden (es sei denn, sie werden mit D3DUSAGE DYNAMIC erstellt), da ein Sperrvorgang für das Objekt erforderlich _ ist. Beachten Sie, dass Sperren für Texturen im Standardpool nicht zulässig sind (es sei denn, sie sind dynamisch).

Weitere Informationen zu PALETTEENTRY findenSie im Plattform-SDK. Beachten Sie, dass das peFlags-Member der PALETTEENTRY-Struktur ab DirectX 8.0 nicht wie im Platform SDK dokumentiert funktioniert. Das peFlags-Member ist jetzt der Alphakanal für palettierte 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

Weitere Informationen

Texturfunktionen in D3DX 9