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

Créez un tableau de textures 2D.

Syntaxe

HRESULT CreateTexture2D(
  [in]            const D3D11_TEXTURE2D_DESC   *pDesc,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture2D              **ppTexture2D
);

Paramètres

[in] pDesc

Type : const D3D11_TEXTURE2D_DESC*

Pointeur vers une structure D3D11_TEXTURE2D_DESC qui décrit une ressource de texture 2D. 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 2D. 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 des valeurs des membres MipLevels et ArraySize de la structure D3D11_TEXTURE2D_DESC vers laquelle pDesc pointe à l’aide du calcul suivant :

MipLevels * ArraySize

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

[out, optional] ppTexture2D

Type : ID3D11Texture2D**

Pointeur vers une mémoire tampon qui reçoit un pointeur vers une interface ID3D11Texture2D 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

CreateTexture2D crée une ressource de texture 2D, qui peut contenir un certain nombre de sous-ressources 2D. 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.

Pour une texture 32 x 32 avec une chaîne mipmap complète, le tableau pInitialData comporte les 6 éléments suivants :

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

Configuration requise

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

Voir aussi

ID3D11Device