Метод ID3D12GraphicsCommandList5::RSSetShadingRate (d3d12.h)
Задает базовую скорость заливки и комбинаторы для заливки с переменной скоростью (VRS). Дополнительные сведения см. в разделе Заливка с переменной скоростью (VRS).
Синтаксис
void RSSetShadingRate(
D3D12_SHADING_RATE baseShadingRate,
const D3D12_SHADING_RATE_COMBINER *combiners
);
Параметры
baseShadingRate
Тип: D3D12_SHADING_RATE
Константой из перечисления D3D12_SHADING_RATE , описывающей заданную базовую скорость заливки.
combiners
Тип: const D3D12_SHADING_RATE_COMBINER*
Необязательный указатель на массив констант D3D12_SHADING_RATE_COMBINER , содержащий задающиеся комбинаторы скорости заливки. Число D3D12_SHADING_RATE_COMBINER элементов в массиве должно быть равно константе D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT, равное 2.
Так как vrs на основе изображений на основе примитивов и экранного пространства не поддерживается в затенение переменной скорости (VRS) уровня 1, чтобы эти значения были значимыми, адаптеру требуется поддержка VRS уровня 2. См . 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;
}
}
Возвращаемое значение
None
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | сборка Windows 10 20348 |
Минимальная версия сервера | сборка Windows 10 20348 |
Верхняя часть | d3d12.h |