ID3D11Device::CreateShaderResourceView 方法 (d3d11.h)
建立著色器資源檢視,以存取資源中的數據。
語法
HRESULT CreateShaderResourceView(
[in] ID3D11Resource *pResource,
[in, optional] const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
[out, optional] ID3D11ShaderResourceView **ppSRView
);
參數
[in] pResource
類型: ID3D11Resource*
做為著色器輸入之資源的指標。 此資源必須已使用 D3D11_BIND_SHADER_RESOURCE 旗標建立。
[in, optional] pDesc
類型: const D3D11_SHADER_RESOURCE_VIEW_DESC*
著色器資源檢視描述的指標, (請參閱 D3D11_SHADER_RESOURCE_VIEW_DESC) 。 將此參數設定為 NULL ,以建立檢視,該檢視會使用以) 建立資源的格式來存取整個資源 (。
[out, optional] ppSRView
類型: ID3D11ShaderResourceView**
ID3D11ShaderResourceView 指標的位址。 將此參數設定為 NULL ,以驗證方法 (如果其他 輸入參數通過驗證) ,則會傳回S_FALSE。
傳回值
類型: HRESULT
這個方法會傳回下列其中一個 Direct3D 11 傳回碼。
備註
資源是由一或多個子資源所組成;檢視可識別允許管線存取的子資源。 此外,每個資源都會使用檢視系結至管線。 著色器資源檢視的設計目的是使用下列 API 方法將任何緩衝區或紋理資源系結至著色器階段: ID3D11DeviceContext::VSSetShaderResources、 ID3D11DeviceContext::GSSetShaderResources 和 ID3D11DeviceContext::P SSetShaderResources。
因為檢視是完整類型,這表示在系結至管線時,無類型資源會變成完全型別。
您可以建立視訊資源的著色器資源檢視,讓 Direct3D 著色器可以處理這些著色器資源檢視。 這些影片資源為 Texture2D 或 Texture2DArray。 所建立著色器資源檢視之D3D11_SHADER_RESOURCE_VIEW_DESC結構之 ViewDimension 成員中的值必須符合視訊資源的類型,D3D11_SRV_DIMENSION_TEXTURE2D Texture2D 和 Texture2DArray 的D3D11_SRV_DIMENSION_TEXTURE2DARRAY。 此外,基礎視訊資源的格式會限制檢視可以使用的格式。 DXGI_FORMAT參考頁面上的視 訊 資源格式值會指定檢視限制的格式值。
運行時間讀取+寫入衝突防護邏輯 (,可讓資源無法同時系結為 SRV 和 RTV 或 UAV,) 將相同視訊介面的不同部分檢視視為衝突,以求簡單起見。 因此,運行時間不允許應用程式從 luma 讀取,而應用程式同時轉譯為相同介面中的色度,即使硬體可能允許這些同時作業也一樣。
Windows Phone 8:支援此 API。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d11.h |
程式庫 | D3D11.lib |