D3DXCreateCubeTextureFromFileInMemoryEx, fonction

Crée une texture de cube à partir d’un fichier en mémoire. Il s’agit d’une fonction plus avancée que D3DXCreateCubeTextureFromFileInMemory.

Syntaxe

HRESULT D3DXCreateCubeTextureFromFileInMemoryEx(
  _In_    LPDIRECT3DDEVICE9      pDevice,
  _In_    LPCVOID                pSrcData,
  _In_    UINT                   SrcDataSize,
  _In_    UINT                   Size,
  _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_   LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);

Paramètres

pDevice [in]

Type : LPDIRECT3DDEVICE9

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

pSrcData [in]

Type : LPCVOID

Pointeur vers le fichier en mémoire à partir duquel créer la texture du cube. Consultez la section Notes.

SrcDataSize [in]

Type : UINT

Taille du fichier en mémoire, en octets.

Taille [in]

Type : UINT

Largeur (ou hauteur) en pixels. Si cette valeur est nulle ou D3DX_DEFAULT, les dimensions sont extraites du fichier.

MipLevels [in]

Type : UINT

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

Utilisation [in]

Type : DWORD

0, D3DUSAGE_RENDERTARGET ou D3DUSAGE_DYNAMIC. La définition de cet indicateur sur D3DUSAGE_RENDERTARGET indique que la surface doit être utilisée comme cible de rendu. La ressource peut ensuite être transmise au paramètre pNewRenderTarget de la méthode SetRenderTarget . Si D3DUSAGE_RENDERTARGET est spécifié, l’application doit vérifier que l’appareil prend en charge cette opération en appelant CheckDeviceFormat. 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 du cube. La texture retournée peut avoir un format différent de celui spécifié par Format. Les applications doivent vérifier le format de la texture retournée. Si D3DFMT_UNKNOWN, le format est extrait du fichier. Si D3DFMT_FROM_FILE, le format est pris exactement comme dans le fichier, et l’appel échoue si cela enfreint 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 du cube doit être placée.

Filtrer [in]

Type : DWORD

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

MipFilter [in]

Type : DWORD

Combinaison d’une ou de plusieurs D3DX_FILTER contrôle de la façon dont l’image est filtrée. La spécification de 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 (en haut de la chaîne mipmap) lorsqu’une texture .dds est chargée en 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épendante 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 pour remplir ou NULL. Consultez la section Notes.

ppCubeTexture [out]

Type : LPDIRECT3DCUBETEXTURE9*

Adresse d’un pointeur vers une interface IDirect3DCubeTexture9 représentant l’objet de texture de cube 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 valeurs suivantes : D3DERR_INVALIDCALL, D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, 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. Consultez D3DXIMAGE_FILEFORMAT.

Les textures de cube diffèrent des autres surfaces dans lesquelles elles sont des collections de surfaces. Pour appeler SetRenderTarget avec une texture de cube, vous devez sélectionner un visage individuel à l’aide de GetCubeMapSurface et transmettre la surface obtenue à SetRenderTarget .

Cette méthode est conçue pour charger des fichiers image stockés en tant que RT_RCDATA, qui est une ressource définie par l’application (données brutes). Sinon, cette méthode échoue.

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.

D3DXCreateCubeTextureFromFileInMemoryEx utilise le format de fichier DirectDraw surface (DDS). L’éditeur de texture DirectX (Dxtex.exe) vous permet de générer une carte de cube à partir d’autres formats de fichiers et de l’enregistrer dans le format de fichier DDS. Vous pouvez obtenir Dxtex.exe et en savoir plus sur celui-ci à partir du Kit de développement logiciel (SDK) DirectX. Pour plus d’informations sur le Kit de développement logiciel (SDK) DirectX, consultez Où est le Kit de développement logiciel (SDK) DirectX ?.

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 au type de filtre et retourne la valeur de filtre, qui serait ensuite passée dans le paramètre MipFilter.

Configuration requise

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

Voir aussi

Fonctions de texture dans D3DX 9