estructura D3D10_DDI_RASTERIZER_DESC (d3d10umddi.h)
La estructura D3D10_DDI_RASTERIZER_DESC describe un estado de rasterizador.
Sintaxis
typedef struct D3D10_DDI_RASTERIZER_DESC {
[in] D3D10_DDI_FILL_MODE FillMode;
[in] D3D10_DDI_CULL_MODE CullMode;
[in] BOOL FrontCounterClockwise;
[in] INT32 DepthBias;
[in] FLOAT DepthBiasClamp;
[in] FLOAT SlopeScaledDepthBias;
[in] BOOL DepthClipEnable;
[in] BOOL ScissorEnable;
[in] BOOL MultisampleEnable;
[in] BOOL AntialiasedLineEnable;
} D3D10_DDI_RASTERIZER_DESC;
Miembros
[in] FillMode
Valor que especifica el modo de relleno para primitivos. Este miembro debe establecerse en uno de los siguientes valores de la enumeración D3D10_DDI_FILL_MODE.
Valor | Significado |
---|---|
D3D10_DDI_FILL_WIREFRAME (2) | Rellena tramas de alambre. |
D3D10_DDI_FILL_SOLID (3) | Rellena sólidos. |
[in] CullMode
Valor que especifica cómo se seleccionan los triángulos orientados hacia atrás, si está en absoluto. Este miembro debe establecerse en uno de los siguientes valores de la enumeración D3D10_DDI_CULL_MODE.
Valor | Significado |
---|---|
D3D10_DDI_CULL_NONE (1) | No se seleccionan triángulos. |
D3D10_DDI_CULL_FRONT (2) | Selección de caras frontales. |
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 va a usar en fórmulas de sesgo. Para obtener más información sobre DepthBias, vea la siguiente sección Comentarios.
[in] DepthBiasClamp
Vector float de precisión sencilla que se usa en fórmulas de sesgo. Para obtener más información sobre DepthBiasClamp, vea la siguiente sección Comentarios.
[in] SlopeScaledDepthBias
Vector float de precisión sencilla que se usa en fórmulas de sesgo. Para obtener más información sobre SlopeScaledDepthBias, vea la siguiente sección Comentarios.
[in] DepthClipEnable
Valor booleano que especifica si el controlador debe recortar las coordenadas z del vértice 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 de tijera adecuada. 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 es necesario seguir las reglas. Las reglas de rasterización de varias muestras contienen true incluso si los destinos de representación solo contienen 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 antialiased. TRUE indica que debe seguir las reglas; FALSE indica que no es necesario seguir las reglas. El controlador omite el valor de AntialiasedLineEnable si se usan en su lugar reglas de rasterización de muestreo múltiple.
Comentarios
Uno de los artefactos con sombras basadas en 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 desde el 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 con 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 explotara, 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 que se puede establecer en la aplicación (positivo o negativo) en la magnitud del sesgo z.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
Encabezado | d3d10umddi.h (incluya D3d10umddi.h) |