estructura D3D11_1_DDI_RASTERIZER_DESC (d3d10umddi.h)
Describe un estado de rasterizador. Usado por windows Display Driver Model (WDDM) 1.2 y controladores de pantalla en modo de usuario posteriores.
Sintaxis
typedef struct D3D11_1_DDI_RASTERIZER_DESC {
[in] D3D10_DDI_FILL_MODE FillMode;
[in] D3D10_DDI_CULL_MODE CullMode;
[in] BOOL FrontCounterClockwise;
[in] INT DepthBias;
[in] FLOAT DepthBiasClamp;
[in] FLOAT SlopeScaledDepthBias;
[in] BOOL DepthClipEnable;
[in] BOOL ScissorEnable;
[in] BOOL MultisampleEnable;
[in] BOOL AntialiasedLineEnable;
[in] UINT ForcedSampleCount;
} D3D11_1_DDI_RASTERIZER_DESC;
Miembros
[in] FillMode
Valor que especifica el modo de relleno para primitivos. Este miembro debe establecerse en uno de los valores siguientes de la enumeración D3D10_DDI_FILL_MODE.
Valor | Significado |
---|---|
D3D10_DDI_FILL_WIREFRAME (2) | Rellena los wireframes. |
D3D10_DDI_FILL_SOLID (3) | Rellena sólidos. |
[in] CullMode
Valor que especifica cómo se seleccionan los triángulos hacia atrás, si están en absoluto. Este miembro debe establecerse en uno de los valores siguientes de la enumeración D3D10_DDI_CULL_MODE.
Valor | Significado |
---|---|
D3D10_DDI_CULL_NONE (1) | No escalone ningún triángulo. |
D3D10_DDI_CULL_FRONT (2) | Seleccionar caras delanteras. |
D3D10_DDI_CULL_BACK (3) | Seleccionar caras traseras. |
[in] FrontCounterClockwise
Valor booleano que especifica si los vértices que se proporcionan en un orden en sentido contrario a las agujas del reloj (con respecto al rasterizador) están orientados hacia delante. TRUE indica que son; FALSE indica que los vértices en sentido contrario a las agujas del reloj indican hacia atrás.
[in] DepthBias
Constante de sesgo de profundidad que se usa en fórmulas de sesgo. Para obtener más información sobre DepthBias, vea la sección Comentarios.
[in] DepthBiasClamp
Vector flotante de precisión única que se usa en fórmulas de sesgo. Para obtener más información sobre DepthBiasClamp, vea la sección Comentarios.
[in] SlopeScaledDepthBias
Vector flotante de precisión única que se usa en fórmulas de sesgo. Para obtener más información sobre SlopeScaledDepthBias, vea la sección Comentarios.
[in] DepthClipEnable
Valor booleano que especifica si el controlador debe recortar coordenadas de vértice z en el intervalo de profundidad de la ventanilla. TRUE indica que se va a recortar; FALSE indica que no se va a recortar.
[in] ScissorEnable
Valor booleano que especifica si el controlador debe descartar píxeles que se encuentran fuera del área rectangular del tijera correspondiente. TRUE indica que se va a descartar; FALSE indica que no se debe descartar.
[in] MultisampleEnable
Valor booleano que especifica si el controlador debe seguir reglas de rasterización de muestreo múltiple. TRUE indica que debe seguir las reglas; FALSE indica que no se requieren las reglas siguientes. Las reglas de rasterización con varias muestras son verdaderas, incluso si los destinos de representación contienen solo un solo ejemplo.
[in] AntialiasedLineEnable
Valor booleano que especifica si el controlador debe representar líneas que siguen las reglas de rasterización de líneas suavizadas. TRUE indica que debe seguir las reglas; FALSE indica que no se requieren las reglas siguientes. El controlador omite el valor de AntialiasedLineEnable si se usan en su lugar reglas de rasterización de muestreo múltiple.
[in] ForcedSampleCount
Durante la representación de vistas de acceso desordenadas (UAV) o vistas de destino de representación (RTV), especifica si se fuerza un recuento de muestras y, si es así, el número máximo de muestras. Los valores válidos son 0, 1, 4, 8 y 16.
Si es cero, el controlador no debe forzar un recuento de muestras.
Comentarios
Uno de los artefactos con sombras basadas en el búfer de sombras es "acné de sombra" (es decir, una superficie que se sombrea de forma intermitente debido a la inexactidad en la computación de la profundidad de la superficie del sombreador que se compara con la profundidad de la misma superficie en el búfer de sombras). Una manera de aliviar el acné de sombra es usar los miembros DepthBias y SlopeScaledDepthBias cuando se representa un búfer de sombras. La intención es insertar superficies suficientes al representar un búfer de sombras. Cuando esas superficies se comparan contra sí mismas a través de z calculada por sombreador durante la prueba de sombras, el resultado de la comparación es coherente en toda la superficie y se evita el sombreado local.
Sin embargo, el uso de DepthBias y SlopeScaledDepthBias solo puede introducir algunos artefactos. Por ejemplo, un polígono extremadamente empinado hace que la ecuación de sesgo explotará, lo que empuja el polígono muy lejos de la superficie de origen en el mapa de sombras. Considere una cara empinada, con respecto a una luz, que se aleja muy lejos en relación con las dimensiones del objeto primario por sesgo de profundidad. Supongamos que esta cara está rodeada de caras más profundas que la ecuación de sesgo insertó mucho menos. El mapa de sombras resultante tiene una gran discontinuidad que puede causar agujeros en la sombra que se convierten por una superficie en otra más cerca de las caras explotadas. Una manera de ayudar a aliviar este problema en particular es usar el miembro DepthBiasClamp , que proporciona un límite superior configurable por la aplicación (positivo o negativo) en la magnitud de sesgo z.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 |
Servidor mínimo compatible | Windows Server 2012 |
Encabezado | d3d10umddi.h (incluya D3d10umddi.h) |