Compartilhar via


Método ID3D11Device3::CreateTexture2D1 (d3d11_3.h)

Cria uma textura 2D.

Sintaxe

HRESULT CreateTexture2D1(
  [in]            const D3D11_TEXTURE2D_DESC1  *pDesc1,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture2D1             **ppTexture2D
);

Parâmetros

[in] pDesc1

Tipo: const D3D11_TEXTURE2D_DESC1*

Um ponteiro para uma estrutura D3D11_TEXTURE2D_DESC1 que descreve um recurso de textura 2D. Para criar um recurso sem tipo que possa ser interpretado em runtime em formatos diferentes e compatíveis, especifique um formato sem tipo na descrição da textura. Para gerar níveis de mipmap automaticamente, defina o número de níveis de mipmap como 0.

[in, optional] pInitialData

Tipo: const D3D11_SUBRESOURCE_DATA*

Um ponteiro para uma matriz de estruturas de D3D11_SUBRESOURCE_DATA que descrevem sub-recursos para o recurso de textura 2D. Os aplicativos não podem especificar NULL para pInitialData ao criar recursos IMMUTABLE (consulte D3D11_USAGE). Se o recurso for multisampled, pInitialData deverá ser NULL porque recursos multisampled não podem ser inicializados com dados quando são criados.

Se você não passar nada para pInitialData, o conteúdo inicial da memória do recurso será indefinido. Nesse caso, você precisa gravar o conteúdo do recurso de alguma outra maneira antes que o recurso seja lido.

Você pode determinar o tamanho dessa matriz de valores nos membros MipLevels e ArraySize da estrutura D3D11_TEXTURE2D_DESC1 para a qual pDesc1 aponta usando o seguinte cálculo:

MipLevels * ArraySize

Para obter mais informações sobre esse tamanho de matriz, consulte Comentários.

[out, optional] ppTexture2D

Tipo: ID3D11Texture2D1**

Um ponteiro para um bloco de memória que recebe um ponteiro para uma interface ID3D11Texture2D1 para a textura criada. Defina esse parâmetro como NULL para validar os outros parâmetros de entrada (o método retornará S_FALSE se os outros parâmetros de entrada passarem na validação).

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, o código de retorno será S_OK. Consulte Códigos de retorno do Direct3D 11 para obter códigos de erro com falha.

Comentários

CreateTexture2D1 cria um recurso de textura 2D, que pode conter vários sub-recursos 2D. O número de sub-recursos é especificado na descrição da textura. Todas as texturas em um recurso devem ter o mesmo formato, tamanho e número de níveis de mipmap.

Todos os recursos são compostos por um ou mais sub-recursos. Para carregar dados na textura, os aplicativos podem fornecer os dados inicialmente como uma matriz de estruturas D3D11_SUBRESOURCE_DATA apontadas por pInitialData ou podem usar uma das funções de textura D3DX, como D3DX11CreateTextureFromFile.

Para uma textura de 32 x 32 com uma cadeia de mipmap completa, a matriz pInitialData tem os seguintes 6 elementos:

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

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2016 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho d3d11_3.h
Biblioteca D3D11.lib

Confira também

ID3D11Device3