estructura de D3D11_RASTERIZER_DESC1 (d3d11_1.h)
Sintaxis
typedef struct D3D11_RASTERIZER_DESC1 {
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_RASTERIZER_DESC1;
Miembros
FillMode
Tipo: D3D11_FILL_MODE
Determina el modo de relleno que se va a usar al representar.
CullMode
Tipo: D3D11_CULL_MODE
Indica que los triángulos que se enfrentan a la dirección especificada no se dibujan.
FrontCounterClockwise
Tipo: BOOL
Especifica si un triángulo está orientado hacia delante o hacia atrás. Si es TRUE, se considerará un triángulo frontal si sus vértices están en sentido contrario al reloj en el destino de representación y se consideran hacia atrás si están en el sentido de las agujas del reloj. Si es FALSE, lo contrario es true.
DepthBias
Tipo: INT
Valor de profundidad agregado a un píxel determinado. Para obtener información sobre el sesgo de profundidad, consulta Sesgo de profundidad.
DepthBiasClamp
Tipo: FLOAT
Sesgo máximo de profundidad de un píxel. Para obtener información sobre el sesgo de profundidad, consulta Sesgo de profundidad.
SlopeScaledDepthBias
Tipo: FLOAT
Escalar en la pendiente de un píxel determinado. Para obtener información sobre el sesgo de profundidad, consulta Sesgo de profundidad.
DepthClipEnable
Tipo: BOOL
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 en FALSE, 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 de retroceso.
ScissorEnable
Tipo: BOOL
Especifica si se va a habilitar la selección de tijeras o rectángulos. Se seleccionan todos los píxeles fuera de un rectángulo de tijera activo.
MultisampleEnable
Tipo: BOOL
Especifica si se deben usar los destinos de representación de antialiasing de varias líneas (MSAA) para usar el algoritmo de suavizado de líneas alfa o cuadrilaterales. Se establece en TRUE para usar el algoritmo de suavizado de contorno de línea cuadrilaterales y en FALSE para usar el algoritmo de suavizado de contorno de línea alfa. Para obtener más información sobre este miembro, consulta Comentarios.
AntialiasedLineEnable
Tipo: BOOL
Especifica si se va a habilitar el suavizado de contornos de línea; solo se aplica si realizar dibujo de líneas y MultisampleEnable es FALSE. Para obtener más información sobre este miembro, consulta Comentarios.
ForcedSampleCount
Tipo: UINT
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.
- No enlace 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 ejemplo.
- No opere el sombreador con frecuencia de muestra. Por lo tanto, ID3D11ShaderReflection::IsSampleFrequencyShader devuelve FALSE.
Comentarios
El estado del rasterizador define el comportamiento de la fase de rasterizador. Para crear un objeto rasterizer-state, llame a ID3D11Device1::CreateRasterizerState1. 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 de 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 |
Algoritmo de representación de línea | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
Alias | FALSE | FALSE |
Antialiased alfa | 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
Cliente mínimo compatible | Windows 8 y Platform Update para Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 y actualización de plataforma para Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Encabezado | d3d11_1.h |