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

# RSSetShadingRateImage (XBOX Series 콘솔)

> ID3D12GraphicsCommandList5::RSSetShadingRateImage 메서드(d3d12.h)는 변수 셰이딩 속도(VRS)에 대한 화면 공간 셰이딩 속도 이미지를 설정합니다.

변수 셰이딩 속도(VRS)에 대한 화면 공간 셰이딩 속도 이미지를 설정합니다. 자세한 내용은 [변수 셰이딩 속도(VRS)](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/vrs)를 참조하세요.
이 메서드는 Tier2 [변수 셰이딩 속도(VRS)](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/vrs) 지원을 필요로 합니다. [**D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS6**](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options6_public) 및 [**D3D12\_VARIABLE\_SHADING\_RATE\_TIER**](/reference/graphics/d3d12/enums/d3d12_variable_shading_rate_tier_public)을 참조하세요.

## 구문

```cpp theme={null}
void RSSetShadingRateImage(
    ID3D12Resource  shadingRateImage
)
```

### 매개 변수

*shadingRateImage*\
형식: ID3D12Resource \*

화면 공간 셰이딩 속도 이미지를 나타내는 [ID3D12Resource](/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs)에 대한 선택적 포인터입니다.
**NULL**이면 모든 값이 1x1의 셰이딩 속도인 셰이딩 속도 이미지를 가지는 것과 동일한 효과가 있습니다.

이 텍스처는 [**D3D12\_RESOURCE\_STATE\_SHADING\_RATE\_SOURCE**](/reference/graphics/d3d12_x/enums/d3d12_resource_states) 상태가 적용되어야 합니다.

셰이딩 속도 이미지의 타일 크기는 [**D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS6**](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options6_public)을 통해 확인할 수 있습니다.
따라서 셰이딩 속도 이미지의 크기는 다음과 같아야 합니다.

```
ceil((float)rtWidth / VRSTileSize), ceil((float)rtHeight / VRSTileSize)
```

셰이딩 속도 이미지는 단일 mip와 [**DXGI\_FORMAT\_R8\_UINT**](https://learn.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) 형식을 가진 2D 텍스처여야 합니다. 각 텍셀은 [**D3D12\_SHADING\_RATE**](/reference/graphics/d3d12/enums/d3d12_shading_rate_public)에 해당하는 값이어야 합니다. 레이아웃은 [**D3D12\_TEXTURE\_LAYOUT\_UNKNOWN**](/reference/graphics/d3d12_x/enums/d3d12_texture_layout)이어야 하며, 심도 스텐실, 렌더 대상, 동시 액세스 또는 교차 어댑터 리소스일 수 없습니다.

DirectX에서 (0, 0)이 왼쪽 위이므로, 너무 작거나 큰 셰이딩 속도 이미지는 아래쪽 또는 오른쪽에 셰이딩 속도 이미지 영역이 없거나 이러한 방향으로 이미지가 확장되는 결과를 초래합니다. 넘치는 부분이 있을 때는 무시되며(합법적이지만), 이미지가 너무 작을 때 아래쪽 및 오른쪽의 모든 경계 밖 영역은 이미지에서 기본 셰이딩 속도 1x1을 가지게 됩니다(그러나 이것이 최종 셰이딩 속도임을 의미하지는 않습니다. 결합기는 여전히 이 1x1 기본값에 적용됩니다).

### 반환 값

형식: void

없음.

## 설명

화면 공간 셰이딩 속도 이미지가 효과를 발휘하려면 셰이딩용 결합기를 설정하기 위해 [**ID3D12GraphicsCommandList5::RSSetShadingRate**](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrate_public)를 호출해야 합니다. 그렇지 않으면 기본 결합기(둘 다 [**D3D12\_SHADING\_RATE\_COMBINER\_PASSTHROUGH**](/reference/graphics/d3d12/enums/d3d12_shading_rate_combiner_public))로 인해 화면 공간 셰이딩 속도 이미지는 셰이딩 세분성을 결정하는 데 무시됩니다.

\[**ID3D12GraphicsCommandList5::RSSetShadingRate**]에 전달된 두 번째 결합기는 전역 셰이딩 속도와 기본 도형별 셰이딩 속도가 결합된 후 셰이딩 속도 이미지에 적용되는 것입니다.

최종 셰이딩 속도에 대한 알고리즘은 다음과 같이 결정됩니다.

```cpp theme={null}
postRasterizerRate = ApplyCombiner(Combiners[0], CommandListShadingRate, Primitive->PrimitiveSpecifiedShadingRate);
finalRate = ApplyCombiner(Combiners[1], postRasterizerRate, ScreenSpaceImage[xy]);
```

여기서 `ApplyCombiner`는 다음과 같습니다.

```cpp theme={null}
UINT ApplyCombiner(D3D12_SHADING_RATE_COMBINER combiner, UINT a, UINT b)
{
MaxShadingRate = options6.AdditionalShadingRatesSupported ? 4 : 2;
switch (combiner)
{
case D3D12_SHADING_RATE_COMBINER_PASSTHROUGH: // default
return a;
case D3D12_SHADING_RATE_COMBINER_OVERRIDE:
return b;
case D3D12_SHADING_RATE_COMBINER_MAX:
return max(a, b);
case D3D12_SHADING_RATE_COMBINER_MIN:
return min(a, b);
case D3D12_SHADING_RATE_COMBINER_SUM:
return min(MaxShadingRate, a + b);
case default:
return a;
}
}
```

## 요구 사항

**헤더:** d3d12\_xs.h\
**라이브러리:** d3d12\_xs.lib\
**지원 플랫폼**: XBOX Series 콘솔

## 함께 보기

[변수 셰이딩 속도(VRS)](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/vrs)


## Related topics

- [RSSetShadingRate (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrate_public.md)
- [D3D12_AXIS_SHADING_RATE (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/enums/d3d12_axis_shading_rate_public.md)
- [D3D12_SHADING_RATE (XBOX Series consoles)](/ko/reference/graphics/d3d12/enums/d3d12_shading_rate_public.md)
- [D3D12_SHADING_RATE_COMBINER](/ko/reference/graphics/d3d12/enums/d3d12_shading_rate_combiner_public.md)
- [D3D12_VARIABLE_SHADING_RATE_TIER](/ko/reference/graphics/d3d12/enums/d3d12_variable_shading_rate_tier_public.md)
