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 elimine ningún triángulo.
D3D10_DDI_CULL_FRONT (2) Selección de caras frontales.
D3D10_DDI_CULL_BACK (3) Seleccionar caras posteriores.

[in] FrontCounterClockwise

Valor booleano que especifica si los vértices que se proporcionan en un orden 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 siguiente sección Comentarios.

[in] DepthBiasClamp

Vector float de precisión única 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 única 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 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 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 las reglas de rasterización de varias muestras. TRUE indica que debe seguir las reglas; FALSE indica que no se requieren las reglas siguientes. 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 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.

Observaciones

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 calcular 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 el DepthBias y SlopeScaledDepthBias miembros 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 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 mediante 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 Valor
cliente mínimo admitido Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
encabezado de d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

CalcPrivateRasterizerStateSize

CreateRasterizerState