Compartir a través de


estructura de D3D11_RASTERIZER_DESC2 (d3d11_3.h)

Describe el estado del rasterizador.

Sintaxis

typedef struct D3D11_RASTERIZER_DESC2 {
  D3D11_FILL_MODE                       FillMode;
  D3D11_CULL_MODE                       CullMode;
  BOOL                                  FrontCounterClockwise;
  INT                                   DepthBias;
  FLOAT                                 DepthBiasClamp;
  FLOAT                                 SlopeScaledDepthBias;
  BOOL                                  DepthClipEnable;
  BOOL                                  ScissorEnable;
  BOOL                                  MultisampleEnable;
  BOOL                                  AntialiasedLineEnable;
  UINT                                  ForcedSampleCount;
  D3D11_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
} D3D11_RASTERIZER_DESC2;

Miembros

FillMode

Valor de tipo D3D11_FILL_MODE que determina el modo de relleno que se va a usar al representar.

CullMode

Valor con tipo D3D11_CULL_MODE que indica que no se dibujan los triángulos orientados a la dirección especificada.

FrontCounterClockwise

Especifica si un triángulo está orientado hacia delante o hacia atrás. Si es TRUE, un triángulo se considerará frontal si sus vértices están en sentido contrario a las agujas del reloj en el destino de representación y se considerarán hacia atrás si están en el sentido de las agujas del reloj. Si es FALSE, lo contrario es true.

DepthBias

Valor de profundidad agregado a un píxel determinado. Para obtener información sobre el sesgo de profundidad, consulta Sesgo de profundidad.

DepthBiasClamp

Sesgo máximo de profundidad de un píxel. Para obtener información sobre el sesgo de profundidad, consulta Sesgo de profundidad.

SlopeScaledDepthBias

Escalar en la pendiente de un píxel determinado. Para obtener información sobre el sesgo de profundidad, consulta Sesgo de profundidad.

DepthClipEnable

Especifica si se va a habilitar el recorte en función de la distancia.

El hardware siempre realiza el recorte x e y de coordenadas rasterizadas. Cuando DepthClipEnable se establece en default-TRUE, el hardware también recorta el valor z (es decir, el hardware realiza el último paso del algoritmo siguiente).


0 < w
-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
0 <= z <= w

Al establecer DepthClipEnable enFALSE, el hardware omite el recorte z (es decir, el último paso del algoritmo anterior). Sin embargo, el hardware sigue realizando el recorte "0 < w". Cuando el recorte z está deshabilitado, el orden de profundidad incorrecto en el nivel de píxel puede dar lugar. Sin embargo, cuando el recorte z está deshabilitado, se simplifican las implementaciones de sombras de galería de símbolos. En otras palabras, puede evitar un control complejo de mayúsculas y minúsculas especiales para la geometría que va más allá del plano de recorte posterior.

ScissorEnable

Especifica si se va a habilitar la selección de tijerasor-rectángulo. Se seleccionan todos los píxeles fuera de un rectángulo de tijera activo.

MultisampleEnable

Especifica si se deben usar los destinos de representación de suavizado de contorno de líneas alfa o cuadritarios en destinos de representación de suavizado de contorno multisample (MSAA). Establézcalo en TRUE para usar el algoritmo de suavizado de contorno de línea cuadrilaterales y en FALSE para usar el algoritmo de suavizado de alias de línea alfa. Para obtener más información sobre este miembro, consulta Comentarios.

AntialiasedLineEnable

Especifica si se va a habilitar el suavizado de contorno de línea; solo se aplica si el dibujo de líneas y MultisampleEnable es FALSE. Para obtener más información sobre este miembro, consulta Comentarios.

ForcedSampleCount

Recuento de muestras que se fuerza mientras se representa UAV o rasteriza. Los valores válidos son 0, 1, 2, 4, 8 y, opcionalmente, 16. 0 indica que el recuento de muestras no se fuerza.

Nota Si desea representar con ForcedSampleCount establecido en 1 o superior, debe seguir estas instrucciones:
  • No enlace las vistas de galería de símbolos de profundidad.
  • Deshabilite las pruebas de profundidad.
  • Asegúrese de que el sombreador no genera profundidad.
  • Si tiene vistas de destino de representación enlazadas (D3D11_BIND_RENDER_TARGET) y ForcedSampleCount es mayor que 1, asegúrese de que cada destino de representación tenga solo un solo ejemplo.
  • No opere el sombreador con frecuencia de muestra. Por lo tanto, ID3D11ShaderReflection::IsSampleFrequencyShader devuelve FALSE.
De lo contrario, el comportamiento de representación no está definido. Para obtener información sobre cómo configurar la galería de símbolos de profundidad, consulta Configuring Depth-Stencil Functionality.
 

ConservativeRaster

Valor de tipo D3D11_CONSERVATIVE_RASTERIZATION_MODE que identifica si la rasterización conservadora está activada o desactivada.

Comentarios

El estado del rasterizador define el comportamiento de la fase de rasterizador. Para crear un objeto rasterizer-state, llame a ID3D11Device3::CreateRasterizerState2. Para establecer el estado del rasterizador, llame a ID3D11DeviceContext::RSSetState.

Si no especifica algún estado de rasterizador, el tiempo de ejecución de Direct3D usa los siguientes valores predeterminados para el estado del rasterizador.

State Valor predeterminado
FillMode Sólido
CullMode Atrás
FrontCounterClockwise FALSE
DepthBias 0
SlopeScaledDepthBias 0.0f
DepthBiasClamp 0.0f
DepthClipEnable TRUE
ScissorEnable FALSE
MultisampleEnable FALSE
AntialiasedLineEnable FALSE
ForcedSampleCount 0
ConservativeRaster D3D11_CONSERVATIVE_RASTERIZATION_MODE_OFF
Nota Para los niveles de características 9.1, 9.2, 9.3 y 10.0, si establece MultisampleEnable en FALSE, el tiempo de ejecución representa todos los puntos, líneas y triángulos sin suavizado incluso para destinos de representación con un recuento de muestras mayor que 1. Para los niveles de características 10.1 y superiores, el valor de MultisampleEnable no tiene ningún efecto en los puntos y triángulos con respecto a MSAA y afecta solo a la selección del algoritmo de representación de líneas, como se muestra en esta tabla:
 
Algoritmo de representación de líneas MultisampleEnable AntialiasedLineEnable
Alias FALSE FALSE
Alfa antialiased FALSE TRUE
Cuadrilátero TRUE FALSE
Cuadrilátero TRUE TRUE

La configuración de los miembros MultisampleEnable y AntialiasedLineEnable solo se aplica a destinos de representación de suavizado multiample (MSAA) (es decir, destinos de representación con recuentos de muestras superiores a 1). Debido a las diferencias en el comportamiento de nivel de característica y siempre y cuando no realice ningún dibujo de línea o no tenga en cuenta que las líneas se representan como cuadrilaterales, se recomienda establecer siempre MultisampleEnable en TRUE siempre que se represente en destinos de representación de MSAA.

Requisitos

   
Encabezado d3d11_3.h

Consulte también

Estructuras principales