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 |