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 de 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 égale à zéro ou D3DX_DEFAULT, les dimensions sont extraites du fichier.
-
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. 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 passée au paramètre pNewRenderTarget de la méthode SetRenderTarget . Si D3DUSAGE_RENDERTARGET est spécifié, l’application doit case activée 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 de cube. 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 de cube doit être placée.
-
Filtrer [in]
-
Type : DWORD
Combinaison d’un ou de plusieurs D3DX_FILTER contrôlant la façon dont l’image est filtrée. Spécifier D3DX_DEFAULT pour ce paramètre revient à spécifier D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.
-
MipFilter [in]
-
Type : DWORD
Combinaison d’un ou de plusieurs D3DX_FILTER contrôlant la façon dont l’image est filtrée. Spécifier D3DX_DEFAULT pour ce paramètre revient à 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 en mémoire ; cela vous permet d’ignorer jusqu’à 32 niveaux.
-
ColorKey [in]
-
Type : D3DCOLOR
Valeur D3DCOLOR à remplacer par le noir transparent, ou 0 pour désactiver la touche colorkey. 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 clés 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. 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 suivantes : D3DERR_INVALIDCALL, D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Notes
Cette fonction prend en charge les formats de fichier suivants : .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm et .tga. Voir D3DXIMAGE_FILEFORMAT.
Les textures de cube diffèrent des autres surfaces en ce qu’il s’agit de collections de surfaces. Pour appeler SetRenderTarget avec une texture de cube, vous devez sélectionner un visage individuel à l’aide de GetCubeMapSurface et passer la surface résultante à SetRenderTarget .
Cette méthode est conçue pour être utilisée 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 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) platform. Le membre peFlags est désormais le canal alpha pour les formats palettisés 8 bits.
D3DXCreateCubeTextureFromFileInMemoryEx utilise le format de fichier de surface DirectDraw (DDS). L’éditeur de texture DirectX (Dxtex.exe) vous permet de générer un mappage de cube à partir d’autres formats de fichiers et de l’enregistrer au format de fichier DDS. Vous pouvez obtenir des Dxtex.exe et en savoir plus à ce sujet à partir du Kit de développement logiciel (SDK) DirectX. Pour plus d’informations sur le Kit de développement logiciel (SDK) DirectX, consultez Où se trouve 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 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 |
|
Bibliothèque |
|
Voir aussi