Metodo ID3D11Device::CreateShaderResourceView (d3d11.h)
Creare una visualizzazione shader-resource per l'accesso ai dati in una risorsa.
Sintassi
HRESULT CreateShaderResourceView(
[in] ID3D11Resource *pResource,
[in, optional] const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
[out, optional] ID3D11ShaderResourceView **ppSRView
);
Parametri
[in] pResource
Tipo: ID3D11Resource*
Puntatore alla risorsa che fungerà da input a uno shader. Questa risorsa deve essere stata creata con il flag di D3D11_BIND_SHADER_RESOURCE .
[in, optional] pDesc
Tipo: const D3D11_SHADER_RESOURCE_VIEW_DESC*
Puntatore a una descrizione della visualizzazione delle risorse shader (vedere D3D11_SHADER_RESOURCE_VIEW_DESC). Impostare questo parametro su NULL per creare una visualizzazione che accede all'intera risorsa (usando il formato con cui è stata creata la risorsa).
[out, optional] ppSRView
Tipo: ID3D11ShaderResourceView**
Indirizzo di un puntatore a un ID3D11ShaderResourceView. Impostare questo parametro su NULL per convalidare gli altri parametri di input (il metodo restituirà S_FALSE se gli altri parametri di input passano la convalida).
Valore restituito
Tipo: HRESULT
Questo metodo restituisce uno dei codici restituiti Direct3D 11 seguenti.
Commenti
Una risorsa è costituita da una o più sottoresource; una vista identifica quali sottoresource consentono alla pipeline di accedere. Inoltre, ogni risorsa è associata alla pipeline usando una visualizzazione. Una visualizzazione shader-resource è progettata per associare qualsiasi risorsa buffer o trama alle fasi shader usando i metodi API seguenti: ID3D11DeviceContext::VSSetShaderResources, ID3D11DeviceContext::GSSetShaderResources e ID3D11DeviceContext::P SSetShaderResources.
Poiché una visualizzazione è completamente tipizzata, ciò significa che le risorse senza tipo diventano completamente digitate quando associate alla pipeline.
È possibile creare visualizzazioni di risorse shader delle risorse video in modo che gli shader Direct3D possano elaborare tali visualizzazioni delle risorse shader. Queste risorse video sono Texture2D o Texture2DArray. Il valore nel membro ViewDimension della struttura D3D11_SHADER_RESOURCE_VIEW_DESC per una visualizzazione risorsa shader creata deve corrispondere al tipo di risorsa video, D3D11_SRV_DIMENSION_TEXTURE2D per Texture2D e D3D11_SRV_DIMENSION_TEXTURE2DARRAY per Texture2DArray. Inoltre, il formato della risorsa video sottostante limita i formati che la visualizzazione può usare. I valori del formato delle risorse video nella pagina di riferimento DXGI_FORMAT specificano i valori di formato a cui le visualizzazioni sono limitate.
La logica di prevenzione dei conflitti di lettura e scrittura di runtime (che impedisce l'associazione di una risorsa come SRV e RTV o UAV contemporaneamente) tratta le visualizzazioni di parti diverse della stessa superficie video in conflitto per semplicità. Pertanto, il runtime non consente a un'applicazione di leggere da luma mentre l'applicazione esegue il rendering simultaneo della stessa superficie anche se l'hardware potrebbe consentire queste operazioni simultanee.
Windows Phone 8: questa API è supportata.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d11.h |
Libreria | D3D11.lib |