Metodo ID3D10Texture1D::Map (d3d10.h)
Ottenere un puntatore ai dati contenuti in una sottoresource e negare l'accesso della GPU a tale sottoresource.
Sintassi
HRESULT Map(
[in] UINT Subresource,
[in] D3D10_MAP MapType,
[in] UINT MapFlags,
[out] void **ppData
);
Parametri
[in] Subresource
Tipo: UINT
Numero di indice della sottoresource. Per altre informazioni, vedere D3D10CalcSubresource .
[in] MapType
Tipo: D3D10_MAP
Specifica le autorizzazioni di lettura e scrittura della CPU per una risorsa. Per i valori possibili, vedere D3D10_MAP.
[in] MapFlags
Tipo: UINT
Contrassegno che specifica cosa deve fare la CPU quando la GPU è occupato. Questo flag è facoltativo.
[out] ppData
Tipo: void**
Puntatore ai dati della risorsa trama.
Valore restituito
Tipo: HRESULT
Se questa funzione ha esito positivo, restituisce S_OK. Per altre restrizioni e un elenco di valori di errore che possono essere restituiti da uno dei metodi Map , vedere Osservazioni.
Commenti
Il mapping di una trama consente alla CPU di accedere direttamente ai dati sottostanti nella sottoresource di una trama. Affinché il metodo abbia esito positivo, è necessario creare la trama con i flag appropriati (vedere D3D10_CPU_ACCESS_FLAG) e l'utilizzo specificato (vedere D3D10_USAGE) deve essere D3D10_USAGE_DYNAMIC o D3D10_USAGE_STAGING.
Gli errori comuni dei metodi Map sono indicati dai valori restituiti seguenti:
Per altre informazioni sui valori restituiti precedenti, vedere DXGI_ERROR.
La mappa presenta le restrizioni seguenti:
- Un'unica sottoresource non può essere mappata più volte; in altre parole, non chiamare Map in una sottoresource già mappata.
- Qualsiasi sottoresource associato alla pipeline deve essere annullata prima dell'esecuzione di qualsiasi operazione di rendering, ovvero prima di ID3D10Device::D raw.
FLOAT* pTexels = (FLOAT*)pData;
for( UINT col = 0; col < width; col++ )
{
pTexels[col*4 + 0]; // Alpha
pTexels[col*4 + 1]; // Blue
pTexels[col*4 + 2]; // Green
pTexels[col*4 + 3]; // Red
}
Differenze tra Direct3D 9 e Direct3D 10: Il mapping in Direct3D 10 è analogo al blocco delle risorse in Direct3D 9. |
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | d3d10.h |
Libreria | D3D10.lib |