Compartilhar via


estrutura D3D11_TEXTURE2D_DESC1 (d3d11_3.h)

Descreve uma textura 2D.

Sintaxe

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;

Membros

Width

Largura da textura (em texels). O intervalo é de 1 a D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). Para um mapa de cubo de textura, o intervalo é de 1 a D3D11_REQ_TEXTURECUBE_DIMENSION (16384). No entanto, o intervalo é, na verdade, restrito pelo nível de recurso no qual você cria o dispositivo de renderização. Para obter mais informações sobre restrições, consulte Comentários.

Height

Altura da textura (em texels). O intervalo é de 1 a D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). Para um mapa de cubo de textura, o intervalo é de 1 a D3D11_REQ_TEXTURECUBE_DIMENSION (16384). No entanto, o intervalo é, na verdade, restrito pelo nível de recurso no qual você cria o dispositivo de renderização. Para obter mais informações sobre restrições, consulte Comentários.

MipLevels

O número máximo de níveis de mipmap na textura. Consulte as observações em D3D11_TEX1D_SRV. Use 1 para uma textura multiplatafa; ou 0 para gerar um conjunto completo de subtexturas.

ArraySize

Número de texturas na matriz de textura. O intervalo é de 1 a D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048). Para um mapa de cubo de textura, esse valor é um múltiplo de 6 (ou seja, 6 vezes o valor no membro NumCubes de D3D11_TEXCUBE_ARRAY_SRV) e o intervalo é de 6 a 2046. Na verdade, o intervalo é restrito pelo nível de recurso no qual você cria o dispositivo de renderização. Para obter mais informações sobre restrições, consulte Comentários.

Format

Formato de textura (consulte DXGI_FORMAT).

SampleDesc

Estrutura que especifica parâmetros multisampling para a textura. Consulte DXGI_SAMPLE_DESC.

Usage

Valor que identifica como a textura deve ser lida e gravada. O valor mais comum é D3D11_USAGE_DEFAULT; consulte D3D11_USAGE para todos os valores possíveis.

BindFlags

Sinalizadores (consulte D3D11_BIND_FLAG) para associação a estágios de pipeline. Os sinalizadores podem ser combinados por um OR bit a bit.

CPUAccessFlags

Sinalizadores (consulte D3D11_CPU_ACCESS_FLAG) para especificar os tipos de acesso de CPU permitidos. Use 0 se o acesso à CPU não for necessário. Esses sinalizadores podem ser combinados com um OR bit a bit.

MiscFlags

Sinalizadores (consulte D3D11_RESOURCE_MISC_FLAG) que identificam outras opções de recurso menos comuns. Use 0 se nenhum desses sinalizadores se aplicar. Esses sinalizadores podem ser combinados usando um OR bit a bit. Para um mapa de cubo de textura, defina o sinalizador D3D11_RESOURCE_MISC_TEXTURECUBE . Matrizes de mapa de cubo (ou seja, ArraySize> 6) exigem nível de recurso D3D_FEATURE_LEVEL_10_1 ou superior.

TextureLayout

Um valor do tipo D3D11_TEXTURE_LAYOUT que identifica o layout da textura.

O parâmetro TextureLayout seleciona o layout real da textura na memória e o layout visível para o aplicativo enquanto a textura é mapeada. Esses sinalizadores podem não ser solicitados sem o acesso à CPU também solicitado.

Não é possível definir sinalizadores de acesso da CPU em texturas padrão sem também definir TextureLayout como um valor diferente de D3D11_TEXTURE_LAYOUT_UNDEFINED.

D3D11_TEXTURE_LAYOUT_ROW_MAJOR só pode ser usado para criar texturas não multisamplásticas com um único sub-recurso (há suporte para texturas PLANar YUV). Essas texturas só podem ser usadas como uma origem e destino de operações de cópia, e BindFlags deve ser zero.

D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE só pode ser usado para criar texturas de estêncil não multisamplásticas e não detalhadas.

Comentários

Essa estrutura é usada em uma chamada para ID3D11Device3::CreateTexture2D1.

Além dessa estrutura, você também pode usar o CD3D11_TEXTURE2D_DESC1 estrutura derivada, que é definida em D3D11_3.h e se comporta como uma classe herdada, para ajudar a criar uma descrição de textura.

O dispositivo coloca algumas restrições de tamanho (deve ser múltiplos de um tamanho mínimo) para um recurso de formato de bit, compactado por blocos ou subamostrado.

O intervalo de tamanho da textura é determinado pelo nível de recurso no qual você cria o dispositivo e não a versão da interface Do Microsoft Direct3D. Por exemplo, se você usar o hardware do Microsoft Direct3D 10 no nível de recurso 10 (D3D_FEATURE_LEVEL_10_0) e chamar D3D11CreateDevice para criar um ID3D11Device, deverá restringir o tamanho máximo da textura para D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192) ao criar sua textura 2D.

Requisitos

   
Cabeçalho d3d11_3.h

Confira também

Estruturas de recursos