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 반환 코드 중 하나를 반환합니다.
설명
리소스는 하나 이상의 하위 리소스로 구성됩니다. 뷰는 파이프라인에 액세스할 수 있도록 허용하는 하위 리소스를 식별합니다. 또한 각 리소스는 뷰를 사용하여 파이프라인에 바인딩됩니다. 셰이더 리소스 뷰는 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로 동시에 바인딩되지 않도록 중지)는 단순성을 위해 동일한 비디오 화면의 여러 부분의 보기를 충돌하는 것으로 처리합니다. 따라서 런타임은 하드웨어가 이러한 동시 작업을 허용할 수 있더라도 애플리케이션이 동일한 표면의 크로마로 동시에 렌더링되는 동안 루마에서 애플리케이션을 읽을 수 없습니다.
Windows Phone 8: 이 API가 지원됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d11.h |
라이브러리 | D3D11.lib |