Partager via


ID3D11Device ::CreateTexture3D, méthode (d3d11.h)

Créez une texture 3D unique.

Syntaxe

HRESULT CreateTexture3D(
  [in]            const D3D11_TEXTURE3D_DESC   *pDesc,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture3D              **ppTexture3D
);

Paramètres

[in] pDesc

Type : const D3D11_TEXTURE3D_DESC*

Pointeur vers une structure D3D11_TEXTURE3D_DESC qui décrit une ressource de texture 3D. Pour créer une ressource sans type qui peut être interprétée au moment de l’exécution dans différents formats compatibles, spécifiez un format sans type dans la description de la texture. Pour générer automatiquement des niveaux mipmap, définissez le nombre de niveaux mipmap sur 0.

[in, optional] pInitialData

Type : const D3D11_SUBRESOURCE_DATA*

Pointeur vers un tableau de structures D3D11_SUBRESOURCE_DATA qui décrivent des sous-ressources pour la ressource de texture 3D. Les applications ne peuvent pas spécifier la valeur NULL pour pInitialData lors de la création de ressources IMMUTABLE (voir D3D11_USAGE). Si la ressource est multi-échantillonnée, pInitialData doit avoir la valeur NULL , car les ressources multi-échantillonnées ne peuvent pas être initialisées avec des données lors de leur création.

Si vous ne passez rien à pInitialData, le contenu initial de la mémoire de la ressource n’est pas défini. Dans ce cas, vous devez écrire le contenu de la ressource d’une autre manière avant que la ressource soit lue.

Vous pouvez déterminer la taille de ce tableau à partir de la valeur dans le membre MipLevels de la structure D3D11_TEXTURE3D_DESC vers laquelle pDesc pointe. Les tableaux de textures de volume 3D ne sont pas pris en charge.

Pour plus d’informations sur cette taille de tableau, consultez Remarques.

[out, optional] ppTexture3D

Type : ID3D11Texture3D**

Pointeur vers une mémoire tampon qui reçoit un pointeur vers une interface ID3D11Texture3D pour la texture créée. Définissez ce paramètre sur NULL pour valider les autres paramètres d’entrée (la méthode retourne S_FALSE si les autres paramètres d’entrée réussissent la validation).

Valeur retournée

Type : HRESULT

Si la méthode réussit, le code de retour est S_OK. Consultez Codes de retour Direct3D 11 pour connaître l’échec des codes d’erreur.

Remarques

CreateTexture3D crée une ressource de texture 3D, qui peut contenir un certain nombre de sous-ressources 3D. Le nombre de textures est spécifié dans la description de la texture. Toutes les textures d’une ressource doivent avoir le même format, la même taille et le même nombre de niveaux mipmap.

Toutes les ressources sont constituées d’une ou plusieurs sous-ressources. Pour charger des données dans la texture, les applications peuvent fournir les données initialement sous la forme d’un tableau de structures D3D11_SUBRESOURCE_DATA pointées par pInitialData, ou utiliser l’une des fonctions de texture D3DX telles que D3DX11CreateTextureFromFile.

Chaque élément de pInitialData fournit toutes les tranches définies pour un miplevel donné. Par exemple, pour une texture de 32 x 32 x 4 volumes avec une chaîne mipmap complète, le tableau comporte les 6 éléments suivants :

  • pInitialData[0] = 32x32 avec 4 tranches
  • pInitialData[1] = 16x16 avec 2 tranches
  • pInitialData[2] = 8x8 avec 1 tranche
  • pInitialData[3] = 4x4 avec 1 tranche
  • pInitialData[4] = 2x2 avec 1 tranche
  • pInitialData[5] = 1x1 avec 1 tranche

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d11.h
Bibliothèque D3D11.lib

Voir aussi

ID3D11Device