Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 granular sobre las operaciones de galería de símbolos.
El valor de referencia de galería de símbolos se especifica normalmente mediante el método ID3D12GraphicsCommandList::OMSetStencilRef. Este método establece el valor de referencia de galería de símbolos en una granularidad por dibujo. Sin embargo, el sombreador de píxeles puede sobrescribir este valor.
Esta característica D3D12 (y D3D11.3) permite a los desarrolladores leer y usar el valor de referencia de galería de símbolos (SV_StencilRef) que es la salida de un sombreador de píxeles, lo que permite una granularidad por píxel o por muestra.
El valor especificado del sombreador reemplaza el valor de referencia 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 galería de símbolos D3D12_STENCIL_OP_REPLACE (un miembro de D3D12_STENCIL_OP) se usa para escribir el valor de referencia en el búfer de galería de símbolos.
Esta característica es opcional en D3D12 y D3D11.3. Para probar su compatibilidad, compruebe el PSSpecifiedStencilRefSupported campo booleano de D3D12_FEATURE_DATA_D3D12_OPTIONS mediante CheckFeatureSupport.
Este es un ejemplo del uso de SV_StencilRef en un sombreador de píxeles:
uint main2(float4 c : COORD) : SV_StencilRef
{
return uint(c.x);
}
Temas relacionados