Fonction D3DXCreateVolumeTextureFromFileInMemoryEx

Crée une texture de volume à partir d’un fichier. Il s’agit d’une fonction plus avancée que D3DXCreateVolumeTextureFromFileInMemory.

Syntaxe

HRESULT D3DXCreateVolumeTextureFromFileInMemoryEx(
  _In_    LPDIRECT3DDEVICE9        pDevice,
  _In_    LPCVOID                  pSrcData,
  _In_    UINT                     SrcDataSize,
  _In_    UINT                     Width,
  _In_    UINT                     Height,
  _In_    UINT                     Depth,
  _In_    UINT                     MipLevels,
  _In_    DWORD                    Usage,
  _In_    D3DFORMAT                Format,
  _In_    D3DPOOL                  Pool,
  _In_    DWORD                    Filter,
  _In_    DWORD                    MipFilter,
  _In_    D3DCOLOR                 ColorKey,
  _Inout_ D3DXIMAGE_INFO           *pSrcInfo,
  _Out_   PALETTEENTRY             *pPalette,
  _Out_   LPDIRECT3DVOLUMETEXTURE9 *ppVolumeTexture
);

Paramètres

pDevice [in]

Type : LPDIRECT3DDEVICE9

Pointeur vers une interface IDirect3DDevice9 , représentant l’appareil à associer à la texture.

pSrcData [in]

Type : LPCVOID

Pointeur vers le fichier en mémoire à partir duquel créer la texture de volume.

SrcDataSize [in]

Type : UINT

Taille du fichier en mémoire, en octets.

Largeur [in]

Type : UINT

Largeur en pixels. Si cette valeur est égale à zéro ou D3DX_DEFAULT, les dimensions sont extraites du fichier. La dimension maximale prise en charge par un pilote (pour la largeur, la hauteur et la profondeur) se trouve dans MaxVolumeExtent dans D3DCAPS9.

Hauteur [in]

Type : UINT

Hauteur, en pixels. Si cette valeur est égale à zéro ou D3DX_DEFAULT, les dimensions sont extraites du fichier. La dimension maximale prise en charge par un pilote (pour la largeur, la hauteur et la profondeur) se trouve dans MaxVolumeExtent dans D3DCAPS9.

Profondeur [in]

Type : UINT

Profondeur, en pixels. Si cette valeur est égale à zéro ou D3DX_DEFAULT, les dimensions sont extraites du fichier. La dimension maximale prise en charge par un pilote (pour la largeur, la hauteur et la profondeur) se trouve dans MaxVolumeExtent dans D3DCAPS9.

MipLevels [in]

Type : UINT

Nombre de niveaux de mip demandés. Si cette valeur est égale à zéro ou D3DX_DEFAULT, une chaîne mipmap complète est créée.

Utilisation [in]

Type : DWORD

0, D3DUSAGE_RENDERTARGET ou D3DUSAGE_DYNAMIC. Le fait de définir cet indicateur sur D3DUSAGE_RENDERTARGET indique que la surface doit être utilisée comme cible de rendu. La ressource peut ensuite être passée au paramètre pNewRenderTarget de la méthode SetRenderTarget . Si D3DUSAGE_RENDERTARGET ou D3DUSAGE_DYNAMIC est spécifié, pool doit être défini sur D3DPOOL_DEFAULT et l’application doit case activée que l’appareil prend en charge cette opération en appelant CheckDeviceFormat. D3DUSAGE_DYNAMIC indique que la surface doit être gérée dynamiquement. Pour plus d’informations sur l’utilisation de textures dynamiques, consultez Utilisation de textures dynamiques.

Format [in]

Type : D3DFORMAT

Membre du type énuméré D3DFORMAT , décrivant le format de pixel demandé pour la texture. La texture retournée peut avoir un format différent de celui spécifié par Format. Les applications doivent case activée le format de la texture retournée. Si D3DFMT_UNKNOWN, le format est extrait du fichier. Si D3DFMT_FROM_FILE, le format est exactement tel qu’il est dans le fichier, et l’appel échoue si cela viole les fonctionnalités de l’appareil.

Pool [in]

Type : D3DPOOL

Membre du type énuméré D3DPOOL , décrivant la classe de mémoire dans laquelle la texture doit être placée.

Filtrer [in]

Type : DWORD

Combinaison d’une ou plusieurs D3DX_FILTER contrôle de la façon dont l’image est filtrée. Spécifier D3DX_DEFAULT pour ce paramètre équivaut à spécifier D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.

MipFilter [in]

Type : DWORD

Combinaison d’une ou plusieurs D3DX_FILTER contrôle de la façon dont l’image est filtrée. Spécifier D3DX_DEFAULT pour ce paramètre équivaut à spécifier D3DX_FILTER_BOX. En outre, utilisez les bits 27-31 pour spécifier le nombre de niveaux mip à ignorer (à partir du haut de la chaîne mipmap) lorsqu’une texture .dds est chargée dans la mémoire ; cela vous permet d’ignorer jusqu’à 32 niveaux.

ColorKey [in]

Type : D3DCOLOR

Valeur D3DCOLOR à remplacer par un noir transparent ou 0 pour désactiver la touche de couleur. Il s’agit toujours d’une couleur ARGB 32 bits, indépendamment du format d’image source. Alpha est significatif et doit généralement être défini sur FF pour les touches de couleur opaques. Ainsi, pour le noir opaque, la valeur serait égale à 0xFF000000.

pSrcInfo [in, out]

Type : D3DXIMAGE_INFO*

Pointeur vers une structure D3DXIMAGE_INFO à remplir avec une description des données dans le fichier image source ou NULL.

pPalette [out]

Type : PALETTEENTRY*

Pointeur vers une structure PALETTEENTRY , représentant une palette de 256 couleurs à remplir, ou NULL.

ppVolumeTexture [out]

Type : LPDIRECT3DVOLUMETEXTURE9*

Adresse d’un pointeur vers une interface IDirect3DVolumeTexture9 , représentant l’objet de texture créé.

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_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Notes

Cette fonction prend en charge les formats de fichiers suivants : .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm et .tga. Voir D3DXIMAGE_FILEFORMAT.

Lorsque vous ignorez les niveaux mipmap lors du chargement d’un fichier .dds, utilisez la macro D3DX_SKIP_DDS_MIP_LEVELS pour générer la valeur MipFilter . Cette macro prend le nombre de niveaux à ignorer et le type de filtre et retourne la valeur de filtre, qui serait ensuite passée dans le paramètre MipFilter .

Spécifications

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

Voir aussi

D3DXCreateVolumeTextureFromFile

D3DXCreateVolumeTextureFromFileEx

D3DXCreateVolumeTextureFromFileInMemory

D3DXCreateVolumeTextureFromResource

D3DXCreateVolumeTextureFromResourceEx

Fonctions de texture dans D3DX 9