Condividi tramite


Procedura: Inizializzare una trama a livello di codice

È possibile inizializzare una trama durante la creazione dell'oggetto oppure riempire l'oggetto a livello di codice dopo la creazione. In questo argomento sono disponibili diversi esempi che illustrano come inizializzare le trame create con diversi tipi di utilizzo. Questo esempio presuppone che tu sappia già come creare una trama.

Utilizzo predefinito

Il tipo di utilizzo più comune è l'utilizzo predefinito. Per riempire una trama predefinita (creata con D3D11_USAGE_DEFAULT) è possibile:

Utilizzo dinamico

Per riempire una trama dinamica (una creata con D3D11_USAGE_DYNAMIC):

  1. Ottenere un puntatore alla memoria della trama passando D3D11_MAP_WRITE_DISCARD quando si chiama ID3D11DeviceContext::Map.
  2. Scrivere dati nella memoria.
  3. Chiamare ID3D11DeviceContext::Unmap al termine della scrittura dei dati.

Utilizzo gestione temporanea

Per riempire una trama di staging (una creata con D3D11_USAGE_STAGING):

  1. Ottenere un puntatore alla memoria della trama passando D3D11_MAP_WRITE quando si chiama ID3D11DeviceContext::Map.
  2. Scrivere dati nella memoria.
  3. Chiamare ID3D11DeviceContext::Unmap al termine della scrittura dei dati.

Una trama di staging può quindi essere usata come parametro di origine per ID3D11DeviceContext::CopyResource o ID3D11DeviceContext::CopySubresourceRegion per riempire una risorsa predefinita o dinamica.

Come usare Direct3D 11

Trame