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)

Consulte también

CalcPrivateRasterizerStateSize

CreateRasterizerState