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 |
|
Bibliothèque |
|
Voir aussi