Cómo: Inicializar una textura mediante programación

Puede inicializar una textura durante la creación del objeto o rellenar el objeto mediante programación después de crearlo. En este tema se muestran varios ejemplos que muestran cómo inicializar texturas creadas con distintos tipos de usos. En este ejemplo se supone que ya sabe cómo crear una textura.

Uso predeterminado

El tipo de uso más común es el uso predeterminado. Para rellenar una textura predeterminada (una creada con D3D11_USAGE_DEFAULT), puede hacer lo siguiente:

Uso dinámico

Para rellenar una textura dinámica (una creada con D3D11_USAGE_DYNAMIC):

  1. Obtenga un puntero a la memoria de textura pasando D3D11_MAP_WRITE_DISCARD al llamar a ID3D11DeviceContext::Map.
  2. Escribir datos en la memoria.
  3. Llame a ID3D11DeviceContext::Unmap cuando haya terminado de escribir datos.

Uso de almacenamiento provisional

Para rellenar una textura de ensayo (una creada con D3D11_USAGE_STAGING):

  1. Obtenga un puntero a la memoria de textura pasando D3D11_MAP_WRITE al llamar a ID3D11DeviceContext::Map.
  2. Escribir datos en la memoria.
  3. Llame a ID3D11DeviceContext::Unmap cuando haya terminado de escribir datos.

A continuación, se puede usar una textura de almacenamiento provisional como parámetro de origen para ID3D11DeviceContext::CopyResource o ID3D11DeviceContext::CopySubresourceRegion para rellenar un recurso predeterminado o dinámico.

Cómo usar Direct3D 11

Texturas