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 |