Partager via


D3D11_TEXTURE2D_DESC1 structure (d3d11_3.h)

Décrit une texture 2D.

Syntaxe

typedef struct D3D11_TEXTURE2D_DESC1 {
  UINT                 Width;
  UINT                 Height;
  UINT                 MipLevels;
  UINT                 ArraySize;
  DXGI_FORMAT          Format;
  DXGI_SAMPLE_DESC     SampleDesc;
  D3D11_USAGE          Usage;
  UINT                 BindFlags;
  UINT                 CPUAccessFlags;
  UINT                 MiscFlags;
  D3D11_TEXTURE_LAYOUT TextureLayout;
} D3D11_TEXTURE2D_DESC1;

Membres

Width

Largeur de texture (en texels). La plage est comprise entre 1 et D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). Pour une carte de cube de texture, la plage est comprise entre 1 et D3D11_REQ_TEXTURECUBE_DIMENSION (16384). Toutefois, la plage est en fait limitée par le niveau de fonctionnalité auquel vous créez le périphérique de rendu. Pour plus d’informations sur les restrictions, consultez Remarques.

Height

Hauteur de texture (en texels). La plage est comprise entre 1 et D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). Pour une carte de cube de texture, la plage est comprise entre 1 et D3D11_REQ_TEXTURECUBE_DIMENSION (16384). Toutefois, la plage est en fait limitée par le niveau de fonctionnalité auquel vous créez le périphérique de rendu. Pour plus d’informations sur les restrictions, consultez Remarques.

MipLevels

Nombre maximal de niveaux de mipmap dans la texture. Consultez les remarques dans D3D11_TEX1D_SRV. Utilisez 1 pour une texture multi-échantillonnée ; ou 0 pour générer un ensemble complet de sous-texte.

ArraySize

Nombre de textures dans le tableau de textures. La plage est comprise entre 1 et D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048). Pour une carte de cube de texture, cette valeur est un multiple de 6 (c’est-à-dire 6 fois la valeur dans le membre NumCubes de D3D11_TEXCUBE_ARRAY_SRV), et la plage est comprise entre 6 et 2046. La plage est en fait limitée par le niveau de fonctionnalité auquel vous créez le périphérique de rendu. Pour plus d’informations sur les restrictions, consultez Remarques.

Format

Format de texture (voir DXGI_FORMAT).

SampleDesc

Structure qui spécifie des paramètres d’échantillonnage multiple pour la texture. Voir DXGI_SAMPLE_DESC.

Usage

Valeur qui identifie la façon dont la texture doit être lue et écrite. La valeur la plus courante est D3D11_USAGE_DEFAULT ; consultez D3D11_USAGE pour toutes les valeurs possibles.

BindFlags

Indicateurs (voir D3D11_BIND_FLAG) pour la liaison aux phases de pipeline. Les indicateurs peuvent être combinés par un OR au niveau du bit.

CPUAccessFlags

Indicateurs (voir D3D11_CPU_ACCESS_FLAG) pour spécifier les types d’accès au processeur autorisés. Utilisez 0 si l’accès au processeur n’est pas requis. Ces indicateurs peuvent être combinés avec un OR au niveau du bit.

MiscFlags

Indicateurs (voir D3D11_RESOURCE_MISC_FLAG) qui identifient d’autres options de ressources moins courantes. Utilisez 0 si aucun de ces indicateurs ne s’applique. Ces indicateurs peuvent être combinés à l’aide d’un OR au niveau du bit. Pour une carte de cube de texture, définissez l’indicateur D3D11_RESOURCE_MISC_TEXTURECUBE . Les tableaux de mappage de cube (autrement dit, ArraySize> 6) nécessitent un niveau de fonctionnalité D3D_FEATURE_LEVEL_10_1 ou supérieur.

TextureLayout

Valeur de type D3D11_TEXTURE_LAYOUT qui identifie la disposition de la texture.

Le paramètre TextureLayout sélectionne à la fois la disposition réelle de la texture en mémoire et la disposition visible par l’application pendant que la texture est mappée. Ces indicateurs ne peuvent pas être demandés sans que l’accès au processeur soit également demandé.

Il est illégal de définir des indicateurs d’accès au processeur sur les textures par défaut sans affecter à TextureLayout une valeur autre que D3D11_TEXTURE_LAYOUT_UNDEFINED.

D3D11_TEXTURE_LAYOUT_ROW_MAJOR ne peut être utilisé que pour créer des textures non multi-échantillonnée avec une seule sous-ressource (les textures YUV planaires sont prises en charge). Ces textures ne peuvent être utilisées que comme source et destination des opérations de copie, et BindFlags doit être égal à zéro.

D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE ne peut être utilisé que pour créer des textures non multi-échantillonlées et sans gabarit de profondeur.

Notes

Cette structure est utilisée dans un appel à ID3D11Device3::CreateTexture2D1.

En plus de cette structure, vous pouvez également utiliser la structure dérivée CD3D11_TEXTURE2D_DESC1 , qui est définie dans D3D11_3.h et se comporte comme une classe héritée, pour aider à créer une description de texture.

L’appareil place certaines restrictions de taille (qui doivent être des multiples d’une taille minimale) pour une ressource sous-échantillonnée, compressée par bloc ou au format binaire.

La plage de taille de texture est déterminée par le niveau de fonctionnalité auquel vous créez l’appareil, et non par la version de l’interface Microsoft Direct3D. Par exemple, si vous utilisez du matériel Microsoft Direct3D 10 au niveau de fonctionnalité 10 (D3D_FEATURE_LEVEL_10_0) et que vous appelez D3D11CreateDevice pour créer un ID3D11Device, vous devez limiter la taille de texture maximale à D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192) lorsque vous créez votre texture 2D.

Spécifications

   
En-tête d3d11_3.h

Voir aussi

Structures de ressources