Partilhar via


Como: Inicializar uma textura programaticamente

Você pode inicializar uma textura durante a criação do objeto ou pode preencher o objeto programaticamente depois que ele é criado. Este tópico tem vários exemplos mostrando como inicializar texturas que são criadas com diferentes tipos de usos. Este exemplo pressupõe que você já saiba como Criar uma textura.

Uso padrão

O tipo mais comum de uso é o uso padrão. Para preencher uma textura padrão (criada com D3D11_USAGE_DEFAULT), você pode:

Uso dinâmico

Para preencher uma textura dinâmica (criada com D3D11_USAGE_DYNAMIC):

  1. Obtenha um ponteiro para a memória de textura passando D3D11_MAP_WRITE_DISCARD ao chamar ID3D11DeviceContext::Map.
  2. Grave dados na memória.
  3. Chame ID3D11DeviceContext::Unmap quando terminar de gravar dados.

Uso de Ensaio

Para preencher uma textura de estadiamento (criada com D3D11_USAGE_STAGING):

  1. Obtenha um ponteiro para a memória de textura passando D3D11_MAP_WRITE ao chamar ID3D11DeviceContext::Map.
  2. Grave dados na memória.
  3. Chame ID3D11DeviceContext::Unmap quando terminar de gravar dados.

Uma textura de encenação pode ser usada como parâmetro de origem para ID3D11DeviceContext::CopyResource ou ID3D11DeviceContext::CopySubresourceRegion para preencher um recurso padrão ou dinâmico.

Como usar o Direct3D 11

Texturas