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 リターン コードを返します。
注釈
リソースは 1 つ以上のサブリソースで構成されます。ビューは、パイプラインがアクセスできるようにするサブリソースを識別します。 さらに、各リソースはビューを使用してパイプラインにバインドされます。 シェーダー リソース ビューは、ID3D11DeviceContext::VSSetShaderResources、ID3D11DeviceContext::GSSetShaderResources、ID3D11DeviceContext::P SSetShaderResources の各 API メソッドを使用して、バッファーまたはテクスチャ リソースをシェーダー ステージにバインドするように設計されています。
ビューは完全に型指定されているため、これは、パイプラインにバインドされると、型指定されていないリソースが完全に型指定されることを意味します。
Direct3D シェーダーでこれらのシェーダー リソース ビューを処理できるように、ビデオ リソースのシェーダー リソース ビューを作成できます。 これらのビデオ リソースは 、Texture2D または Texture2DArray です。 作成されたシェーダー リソース ビューのD3D11_SHADER_RESOURCE_VIEW_DESC構造の ViewDimension メンバーの値は、Texture2D の場合はD3D11_SRV_DIMENSION_TEXTURE2D、Texture2DArray の場合はD3D11_SRV_DIMENSION_TEXTURE2DARRAYビデオ リソースの種類と一致する必要があります。 さらに、基になるビデオ リソースの形式によって、ビューで使用できる形式が制限されます。 DXGI_FORMATリファレンス ページのビデオ リソース形式の値は、ビューが制限される形式の値を指定します。
ランタイムの読み取りおよび書き込みの競合防止ロジック (リソースが SRV および RTV または UAV として同時にバインドされないようにする) は、同じビデオ画面のさまざまな部分のビューを、わかりやすくするために競合として扱います。 したがって、ランタイムでは、アプリケーションが luma から読み取ることを許可しません。ただし、ハードウェアで同時操作が可能になる場合でも、アプリケーションは同時に同じサーフェスでクロマにレンダリングされます。
Windows Phone 8: この API はサポートされています。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d11.h |
Library | D3D11.lib |