> ## 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_COMPONENT_MAPPING

> 셰이더 리소스 뷰(SRV)에 의해 메모리가 라우팅되는 방식을 지정합니다.

셰이더 리소스 뷰(SRV)에 의해 메모리가 라우팅되는 방식을 지정합니다.

## 구문

```cpp theme={null}
typedef enum D3D12_SHADER_COMPONENT_MAPPING
{
    D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0,
    D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1,
    D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2,
    D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3,
    D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4,
    D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5
} D3D12_SHADER_COMPONENT_MAPPING
```

## 상수

| 상수                                                            | 설명                                                                          |
| ------------------------------------------------------------- | --------------------------------------------------------------------------- |
| D3D12\_SHADER\_COMPONENT\_MAPPING\_FROM\_MEMORY\_COMPONENT\_0 | 컴포넌트 0(빨간색)을 반환함을 나타냅니다.                                                    |
| D3D12\_SHADER\_COMPONENT\_MAPPING\_FROM\_MEMORY\_COMPONENT\_1 | 컴포넌트 1(초록색)을 반환함을 나타냅니다.                                                    |
| D3D12\_SHADER\_COMPONENT\_MAPPING\_FROM\_MEMORY\_COMPONENT\_2 | 컴포넌트 2(파란색)를 반환함을 나타냅니다.                                                    |
| D3D12\_SHADER\_COMPONENT\_MAPPING\_FROM\_MEMORY\_COMPONENT\_3 | 컴포넌트 3(알파)을 반환함을 나타냅니다.                                                     |
| D3D12\_SHADER\_COMPONENT\_MAPPING\_FORCE\_VALUE\_0            | 결과 값을 0으로 강제함을 나타냅니다.                                                       |
| D3D12\_SHADER\_COMPONENT\_MAPPING\_FORCE\_VALUE\_1            | 결과 값을 1로 강제함을 나타냅니다. 1로 강제된 값은 원본 형식에서 해당 컴포넌트의 형식 유형에 따라 0x1 또는 1.0f가 됩니다. |

## 설명

이 열거형을 사용하면 SRV가 메모리 페치 후 셰이더의 네 개 반환 컴포넌트로 메모리가 라우팅되는 방식을 선택할 수 있습니다. 각 셰이더 컴포넌트\[0..3]\(RGBA에 해당)에 대한 옵션은 SRV 페치 결과의 컴포넌트 0..3, 또는 0 강제, 또는 1 강제입니다.

기본 1:1 매핑은 **D3D12\_DEFAULT\_SHADER\_4\_COMPONENT\_MAPPING**을 지정하여 나타낼 수 있으며, 그렇지 않으면 **D3D12\_ENCODE\_SHADER\_4\_COMPONENT\_MAPPING** 매크로를 사용하여 임의의 매핑을 지정할 수 있습니다.

아래를 참조하세요.

다음 정의에 유의하세요.

```cpp theme={null}
#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES \
(1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4))
#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) \
((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \
(((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \
(((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \
(((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \
D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))
#define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,Mapping) \
((D3D12_SHADER_COMPONENT_MAPPING)(Mapping >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))
#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3)
```

## 요구 사항

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

## 함께 보기

[Core enumerations](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-enumerations)


## Related topics

- [D3D12_SHADER_RESOURCE_VIEW_DESC](/ko/reference/graphics/d3d12/structs/d3d12_shader_resource_view_desc_public.md)
- [D3D12_TILE_MAPPING_FLAGS](/ko/reference/graphics/d3d12/enums/d3d12_tile_mapping_flags_public.md)
- [D3D12_SHADER_VISIBILITY](/ko/reference/graphics/d3d12/enums/d3d12_shader_visibility_public.md)
- [D3D12_SHADER_BYTECODE](/ko/reference/graphics/d3d12/structs/d3d12_shader_bytecode_public.md)
- [D3D12_SHADER_CACHE_FLAGS](/ko/reference/graphics/d3d12/enums/d3d12_shader_cache_flags_public.md)
