Metodo ID3D11Device3::WriteToSubresource (d3d11_3.h)
Copia i dati in una trama D3D11_USAGE_DEFAULT mappata usando ID3D11DeviceContext3::Map fornendo un parametro NULL D3D11_MAPPED_SUBRESOURCE .
Sintassi
void WriteToSubresource(
[in] ID3D11Resource *pDstResource,
[in] UINT DstSubresource,
[in, optional] const D3D11_BOX *pDstBox,
[in] const void *pSrcData,
[in] UINT SrcRowPitch,
[in] UINT SrcDepthPitch
);
Parametri
[in] pDstResource
Tipo: ID3D11Resource*
Puntatore alla risorsa di destinazione ( ID3D11Resource).
[in] DstSubresource
Tipo: UINT
Indice in base zero, che identifica la sottoresource di destinazione. Per altre informazioni, vedere D3D11CalcSubresource.
[in, optional] pDstBox
Tipo: const D3D11_BOX*
Puntatore a una casella che definisce la parte della sottoresource di destinazione in cui copiare i dati della risorsa. Se NULL, i dati vengono scritti nella sottoresource di destinazione senza offset. Le dimensioni dell'origine devono adattarsi alla destinazione (vedere D3D11_BOX).
Una casella vuota genera un no-op. Una casella è vuota se il valore superiore è maggiore o uguale al valore inferiore oppure il valore sinistro è maggiore o uguale al valore destro oppure il valore anteriore è maggiore o uguale al valore posteriore. Quando la casella è vuota, questo metodo non esegue alcuna operazione.
[in] pSrcData
Tipo: const void*
Puntatore ai dati di origine in memoria.
[in] SrcRowPitch
Tipo: UINT
Dimensione di una riga dei dati di origine.
[in] SrcDepthPitch
Tipo: UINT
Dimensioni di una sezione approfondita dei dati di origine.
Valore restituito
nessuno
Osservazioni
La risorsa fornita deve essere una trama D3D11_USAGE_DEFAULT mappata per la scrittura da una chiamata precedente a ID3D11DeviceContext3::Map fornendo un parametro NULL D3D11_MAPPED_SUBRESOURCE .
Questa API è destinata alla chiamata ad alta frequenza. I chiamanti possono ridurre la memoria eseguendo chiamate iterative che aggiornano le aree progressive della trama, fornendo un buffer ridotto durante ogni chiamata. È più efficiente specificare aree sufficienti, anche se questo consente a D3D di riempire tutte le righe della cache nella trama prima di restituire.
Per l'efficienza, assicurarsi che i limiti e l'allineamento degli extent all'interno della casella siano ( 64 / [byte per pixel] ) pixel in orizzontale. I limiti verticali e l'allineamento devono essere 2 righe, tranne quando vengono usati formati da 1 byte per pixel, in cui sono consigliate 4 righe. Le sezioni di profondità singole per chiamata vengono gestite in modo efficiente. È consigliabile ma non è necessario fornire puntatori e passi che sono allineati a 128 byte.
Quando si scrive in livelli di mipmap secondari, è consigliabile usare larghezza e altezze maggiori rispetto a quelle descritte in precedenza. Questo perché i piccoli livelli di mipmap possono effettivamente essere archiviati all'interno di un blocco di memoria più grande, con una quantità opaca di offset che può interferire con l'allineamento alle righe della cache.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d11_3.h |
Libreria | D3D11.lib |