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]
-
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 |
|
Bibliothek |
|
Siehe auch