Valor de referencia de galería de símbolos especificado por el sombreador (gráficos de Direct3D 11)

Habilitar sombreadores de píxeles para generar el valor de referencia de galería de símbolos, en lugar de usar el especificado por la API, permite un control muy preciso sobre las operaciones de galería de símbolos.

El valor especificado del sombreador reemplaza el valor de referencia de galería de símbolos especificado por la API para esa invocación, lo que significa que el cambio afecta a la prueba de galería de símbolos y cuando la operación de la galería de símbolos D3D11_STENCIL_OP_REPLACE (un miembro de D3D11_STENCIL_OP) se usa para escribir el valor de referencia en el búfer de galería de símbolos.

En versiones anteriores de D3D11, el valor de referencia de la galería de símbolos solo se puede especificar mediante el método ID3D11DeviceContext::OMSetDepthStencilState . Esto significa que este valor solo se puede definir en una granularidad por dibujo. Esta característica D3D11.3 permite a los desarrolladores leer y usar el valor de referencia de galería de símbolos (SV_StencilRef) que se genera desde un sombreador de píxeles, lo que significa que se puede especificar en una granularidad por píxel o por muestra.

Esta característica es opcional en D3D11.3. Para probar su compatibilidad, compruebe el PSSpecifiedStencilRefSupported campo booleano de D3D11_FEATURE_DATA_D3D11_OPTIONS2 mediante ID3D11Device::CheckFeatureSupport

Este es un ejemplo del uso de en un sombreador de SV_StencilRef píxeles:

uint main2(float4 c : COORD) : SV_StencilRef
{
    return uint(c.x);
}

Características de Direct3D 11.3

Modelo de sombreador 5.1