Compartilhar via


Método ID3D11Device::CreateTexture3D (d3d11.h)

Crie uma única textura 3D.

Sintaxe

HRESULT CreateTexture3D(
  [in]            const D3D11_TEXTURE3D_DESC   *pDesc,
  [in, optional]  const D3D11_SUBRESOURCE_DATA *pInitialData,
  [out, optional] ID3D11Texture3D              **ppTexture3D
);

Parâmetros

[in] pDesc

Tipo: const D3D11_TEXTURE3D_DESC*

Um ponteiro para uma estrutura D3D11_TEXTURE3D_DESC que descreve um recurso de textura 3D. 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 D3D11_SUBRESOURCE_DATA que descrevem sub-recursos para o recurso de textura 3D. 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 do valor no membro MipLevels da estrutura D3D11_TEXTURE3D_DESC para a qual pDesc aponta. Não há suporte para matrizes de texturas de volume 3D.

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

[out, optional] ppTexture3D

Tipo: ID3D11Texture3D**

Um ponteiro para um buffer que recebe um ponteiro para uma interface ID3D11Texture3D 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

CreateTexture3D cria um recurso de textura 3D, que pode conter vários sub-recursos 3D. O número de texturas é 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.

Cada elemento de pInitialData fornece todas as fatias definidas para um determinado miplevel. Por exemplo, para uma textura de volume 32 x 32 x 4 com uma cadeia de mipmap completa, a matriz tem os seguintes 6 elementos:

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

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d11.h
Biblioteca D3D11.lib

Confira também

ID3D11Device