D3DXFilterTexture, fonction

Filtre les niveaux 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 couleurs 256 à remplir ou NULL pour les formats nonpalettisés. Si une palette n’est pas spécifiée, la palette Direct3D par défaut (une 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. La spécification de 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é. La spécification de 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 dans une surface non de niveau 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 (cela est peu probable dans des 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 créée avec D3DUSAGE_DYNAMIC) car une opération de verrouillage est nécessaire sur l’objet. Notez que les verrous sont interdits sur les textures du 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 que, à partir de DirectX 8.0, le membre peFlags de la structure PALETTEENTRY ne fonctionne pas comme documenté 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