Método ID3D12GraphicsCommandList5::RSSetShadingRate (d3d12.h)
Establece la velocidad de sombreado base y los combinadores para sombreado de velocidad variable (VRS). Para obtener más información, consulta Sombreado de velocidad variable (VRS).
Sintaxis
void RSSetShadingRate(
D3D12_SHADING_RATE baseShadingRate,
const D3D12_SHADING_RATE_COMBINER *combiners
);
Parámetros
baseShadingRate
Tipo: D3D12_SHADING_RATE
Constante de la enumeración D3D12_SHADING_RATE que describe la velocidad de sombreado base que se va a establecer.
combiners
Tipo: const D3D12_SHADING_RATE_COMBINER*
Puntero opcional a una matriz constante de D3D12_SHADING_RATE_COMBINER que contiene los combinadores de velocidad de sombreado que se van a establecer. El recuento de D3D12_SHADING_RATE_COMBINER elementos de la matriz debe ser igual al D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT constante, que es igual a 2.
Dado que VRS basado en imágenes basadas en imágenes por primitivo y espacio de pantalla no se admite en sombreado de velocidad variable de nivel1 (VRS), para que estos valores sean significativos, el adaptador requiere compatibilidad con VRS de nivel 2. Consulte D3D12_FEATURE_DATA_D3D12_OPTIONS6 y D3D12_VARIABLE_SHADING_RATE_TIER.
Un puntero NULL es equivalente a los combinadores de sombreado predeterminados, que son ambos D3D12_SHADING_RATE_COMBINER_PASSTHROUGH.
El algoritmo para la velocidad de sombreado final viene determinado por lo siguiente.
postRasterizerRate = ApplyCombiner(Combiners[0], CommandListShadingRate, Primitive->PrimitiveSpecifiedShadingRate);
finalRate = ApplyCombiner(Combiners[1], postRasterizerRate, ScreenSpaceImage[xy]);
donde ApplyCombiner
es
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;
}
}
Valor devuelto
None
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | compilación 20348 de Windows 10 |
Servidor mínimo compatible | compilación 20348 de Windows 10 |
Encabezado | d3d12.h |