Compartir a través de


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

Consulte también

Sombreado de velocidad variable (VRS)