ID3D12GraphicsCommandList5::RSSetShadingRate 메서드(d3d12.h)
VRS(가변 속도 음영)에 대한 기본 음영 속도 및 조합기를 설정합니다. 자세한 내용은 VRS(가변 속도 음영)를 참조하세요.
구문
void RSSetShadingRate(
D3D12_SHADING_RATE baseShadingRate,
const D3D12_SHADING_RATE_COMBINER *combiners
);
매개 변수
baseShadingRate
설정할 기본 음영 속도를 설명하는 D3D12_SHADING_RATE 열거형의 상수입니다.
combiners
형식: const D3D12_SHADING_RATE_COMBINER*
설정할 음영 속도 조합기를 포함하는 D3D12_SHADING_RATE_COMBINER 상수 배열에 대한 선택적 포인터입니다. 배열의 D3D12_SHADING_RATE_COMBINER 요소 수는 상수 D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT2와 같아야 합니다.
계층1 VRS(가변 속도 음영)에서는 기본형 및 화면 공간별 이미지 기반 VRS가 지원되지 않으므로 이러한 값을 의미하려면 어댑터에 Tier2 VRS 지원이 필요합니다. D3D12_FEATURE_DATA_D3D12_OPTIONS6 및 D3D12_VARIABLE_SHADING_RATE_TIER 참조하세요.
NULL 포인터는 모두 D3D12_SHADING_RATE_COMBINER_PASSTHROUGH 기본 음영 결합기와 동일합니다.
최종 음영 속도에 대한 알고리즘은 다음을 통해 결정됩니다.
postRasterizerRate = ApplyCombiner(Combiners[0], CommandListShadingRate, Primitive->PrimitiveSpecifiedShadingRate);
finalRate = ApplyCombiner(Combiners[1], postRasterizerRate, ScreenSpaceImage[xy]);
여기서 ApplyCombiner
는 입니다.
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;
}
}
반환 값
없음
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 빌드 20348 |
지원되는 최소 서버 | Windows 10 빌드 20348 |
머리글 | d3d12.h |