Partager via


Fonction D3DXFilterTexture

Filtre les niveaux de mipmap d’une texture.

Syntaxe

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

Paramètres

pBaseTexture [in]

Type : LPDIRECT3DBASETEXTURE9

Pointeur vers une interface IDirect3DBaseTexture9 qui représente l’objet de texture à filtrer.

pPalette [out]

Type : const PALETTEENTRY*

Pointeur vers une structure PALETTEENTRY qui représente une palette de 256 couleurs à remplir, ou NULL pour les formats nonpalettisés. Si aucune palette n’est spécifiée, la palette Direct3D par défaut (palette blanche opaque) est fournie. Consultez la section Notes.

SrcLevel [in]

Type : UINT

Niveau dont l’image est utilisée pour générer les niveaux suivants. Spécifier D3DX_DEFAULT pour ce paramètre équivaut à spécifier 0.

MipFilter [in]

Type : DWORD

Combinaison d’une ou de plusieurs D3DX_FILTER contrôle de la façon dont le mipmap est filtré. Spécifier D3DX_DEFAULT pour ce paramètre équivaut à spécifier D3DX_FILTER_BOX si la taille de texture est une puissance de deux, et D3DX_FILTER_BOX | D3DX_FILTER_DITHER sinon.

Valeur retournée

Type : HRESULT

Si la fonction réussit, la valeur de retour est D3D_OK. Si la fonction échoue, la valeur de retour peut être l’une des suivantes : D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA.

Notes

Un filtre est appliqué de manière récursive à chaque niveau de texture pour générer le niveau de texture suivant.

L’écriture sur une surface autre que zéro de la texture n’entraîne pas la mise à jour du rectangle sale. Si D3DXFilterTexture est appelé et que la surface n’était pas déjà sale (ce qui est peu probable dans les scénarios d’utilisation normaux), l’application doit appeler explicitement AddDirtyRect sur la texture.

Les textures créées dans le pool par défaut (D3DPOOL_DEFAULT) ne peuvent pas être utilisées avec D3DXFilterTexture (sauf si elles sont créées avec D3DUSAGE_DYNAMIC), car une opération de verrouillage est nécessaire sur l’objet. Notez que les verrous sont interdits sur les textures dans le pool par défaut (sauf s’ils sont dynamiques).

Pour plus d’informations sur PALETTEENTRY, consultez le Kit de développement logiciel (SDK) de plateforme. Notez qu’à partir de DirectX 8.0, le membre peFlags de la structure PALETTEENTRY ne fonctionne pas comme indiqué dans le Kit de développement logiciel (SDK) de plateforme. Le membre peFlags est désormais le canal alpha pour les formats palettisés 8 bits.

Il n’existe qu’une seule fonction de filtrage de texture, mais deux macros qui appellent cette méthode.

#define D3DXFilterCubeTexture D3DXFilterTexture
#define D3DXFilterVolumeTexture D3DXFilterTexture

Spécifications

Condition requise Valeur
En-tête
D3dx9tex.h
Bibliothèque
D3dx9.lib

Voir aussi

Fonctions de texture dans D3DX 9