> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_SHADER_RESOURCE_VIEW_DESC

> 셰이더 리소스 뷰를 설명합니다. (D3D12_SHADER_RESOURCE_VIEW_DESC)

셰이더 리소스 뷰(SRV)를 설명합니다.

## 구문

```cpp theme={null}
typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
{
    DXGI_FORMAT Format;
    D3D12_SRV_DIMENSION ViewDimension;
    UINT Shader4ComponentMapping;
    D3D12_BUFFER_SRV Buffer;
    D3D12_TEX1D_SRV Texture1D;
    D3D12_TEX1D_ARRAY_SRV Texture1DArray;
    D3D12_TEX2D_SRV Texture2D;
    D3D12_TEX2D_ARRAY_SRV Texture2DArray;
    D3D12_TEX2DMS_SRV Texture2DMS;
    D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
    D3D12_TEX3D_SRV Texture3D;
    D3D12_TEXCUBE_SRV TextureCube;
    D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
    UNKNOWN_TYPE RaytracingAccelerationStructure;
} D3D12_SHADER_RESOURCE_VIEW_DESC
```

### 멤버

*Format*\
형식: DXGI\_FORMAT

보기 형식을 지정하는 [DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format) 형식의 값입니다. 설명을 참조하세요.

*ViewDimension*\
형식: D3D12\_SRV\_DIMENSION

뷰의 리소스 유형을 지정하는 [D3D12\_SRV\_DIMENSION](/reference/graphics/d3d12_x/enums/d3d12_srv_dimension) 형식의 값입니다. 이 유형은 기본 리소스의 리소스 유형과 동일합니다. 이 멤버는 또한 아래 유니온(union)에서 사용할 \_SRV를 결정합니다.

*Shader4ComponentMapping*\
형식: UINT

[D3D12\_ENCODE\_SHADER\_4\_COMPONENT\_MAPPING](/reference/graphics/d3d12/enums/d3d12_shader_component_mapping_public) 매크로를 사용하여 구성된 값입니다. **D3D12\_SHADER\_COMPONENT\_MAPPING** 열거형은 이 셰이더 리소스 뷰(SRV)를 통해 셰이더에서 텍스처에 액세스할 때 메모리에서 어떤 값을 반환해야 하는지 지정합니다. 예를 들어 메모리의 구성 요소 1(초록)이나 상수 `0`을 셰이더에 지정된 값의 구성 요소 2(`.b`)로 라우팅할 수 있습니다.

*Buffer*\
형식: D3D12\_BUFFER\_SRV

리소스를 버퍼로 보는 [D3D12\_BUFFER\_SRV](/reference/graphics/d3d12/structs/d3d12_buffer_srv_public) 구조체입니다.

*Texture1D*\
형식: D3D12\_TEX1D\_SRV

리소스를 1D 텍스처로 보는 [D3D12\_TEX1D\_SRV](/reference/graphics/d3d12/structs/d3d12_tex1d_srv_public) 구조체입니다.

*Texture1DArray*\
형식: D3D12\_TEX1D\_ARRAY\_SRV

리소스를 1D 텍스처 배열로 보는 [D3D12\_TEX1D\_ARRAY\_SRV](/reference/graphics/d3d12/structs/d3d12_tex1d_array_srv_public) 구조체입니다.

*Texture2D*\
형식: D3D12\_TEX2D\_SRV

리소스를 2D 텍스처로 보는 [D3D12\_TEX2D\_SRV](/reference/graphics/d3d12/structs/d3d12_tex2d_srv_public) 구조체입니다.

*Texture2DArray*\
형식: D3D12\_TEX2D\_ARRAY\_SRV

리소스를 2D 텍스처 배열로 보는 [D3D12\_TEX2D\_ARRAY\_SRV](/reference/graphics/d3d12/structs/d3d12_tex2d_array_srv_public) 구조체입니다.

*Texture2DMS*\
형식: D3D12\_TEX2DMS\_SRV

리소스를 2D 멀티샘플링된 텍스처로 보는 [D3D12\_TEX2DMS\_SRV](/reference/graphics/d3d12/structs/d3d12_tex2dms_srv_public) 구조체입니다.

*Texture2DMSArray*\
형식: D3D12\_TEX2DMS\_ARRAY\_SRV

리소스를 2D 멀티샘플링된 텍스처 배열로 보는 [D3D12\_TEX2DMS\_ARRAY\_SRV](/reference/graphics/d3d12/structs/d3d12_tex2dms_array_srv_public) 구조체입니다.

*Texture3D*\
형식: D3D12\_TEX3D\_SRV

리소스를 3D 텍스처로 보는 [D3D12\_TEX3D\_SRV](/reference/graphics/d3d12/structs/d3d12_tex3d_srv_public) 구조체입니다.

*TextureCube*\
형식: D3D12\_TEXCUBE\_SRV

리소스를 3D 큐브 텍스처로 보는 [D3D12\_TEXCUBE\_SRV](/reference/graphics/d3d12/structs/d3d12_texcube_srv_public) 구조체입니다.

*TextureCubeArray*\
형식: D3D12\_TEXCUBE\_ARRAY\_SRV

리소스를 3D 큐브 텍스처 배열로 보는 [D3D12\_TEXCUBE\_ARRAY\_SRV](/reference/graphics/d3d12/structs/d3d12_texcube_array_srv_public) 구조체입니다.

*RaytracingAccelerationStructure*\
리소스를 레이트레이싱 가속 구조로 보는 [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_SRV](/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_srv_public) 구조체입니다.

## 설명

뷰는 리소스의 데이터를 보는 형식별 방법입니다. 뷰는 어떤 데이터를 볼지 및 읽을 때 어떻게 캐스팅되는지 결정합니다.

리소스를 볼 때 리소스 뷰 설명은 리소스 형식과 호환되는 유형 지정 형식을 지정해야 합니다. 즉, 이름에 \_TYPELESS가 있는 형식을 사용하여 리소스 뷰 설명을 만들 수 없습니다. 그러나 뷰에 유형 지정 형식을 지정하여 형식이 없는 리소스를 볼 수 있습니다. 예를 들어 DXGI\_FORMAT\_R32G32B32\_TYPELESS 리소스는 DXGI\_FORMAT\_R32G32B32\_FLOAT, DXGI\_FORMAT\_R32G32B32\_UINT, DXGI\_FORMAT\_R32G32B32\_SINT 유형 지정 형식 중 하나로 볼 수 있습니다. 이러한 유형 지정 형식은 형식이 없는 리소스와 호환되기 때문입니다.

셰이더 리소스 뷰 설명을 만들려면 [ID3D12Device::CreateShaderResourceView](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public)를 호출합니다.

## 요구 사항

**헤더:** d3d12\_xs.h 또는 d3d12\_x.h\
**라이브러리:** d3d12\_xs.lib 또는 d3d12\_x.lib\
**지원 플랫폼**: XBOX Series 콘솔 및 XBOX One 제품군

## 함께 보기

[핵심 구조체](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)


## Related topics

- [CreateShaderResourceView](/ko/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public.md)
- [D3D12_BUFFER_SRV](/ko/reference/graphics/d3d12/structs/d3d12_buffer_srv_public.md)
- [D3D12_TEXCUBE_SRV](/ko/reference/graphics/d3d12/structs/d3d12_texcube_srv_public.md)
- [D3D12_TEXCUBE_ARRAY_SRV](/ko/reference/graphics/d3d12/structs/d3d12_texcube_array_srv_public.md)
- [D3D12_TEX3D_SRV](/ko/reference/graphics/d3d12/structs/d3d12_tex3d_srv_public.md)
