structure D3D10_DDI_RASTERIZER_DESC (d3d10umddi.h)
La structure D3D10_DDI_RASTERIZER_DESC décrit un état de rastériseur.
Syntaxe
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;
Membres
[in] FillMode
Valeur qui spécifie le mode de remplissage pour les primitives. Ce membre doit être défini sur l’une des valeurs suivantes de l’énumération D3D10_DDI_FILL_MODE.
Valeur | Signification |
---|---|
D3D10_DDI_FILL_WIREFRAME (2) | Remplit les wireframes. |
D3D10_DDI_FILL_SOLID (3) | Remplit les solides. |
[in] CullMode
Valeur qui spécifie la façon dont les triangles vers l’arrière sont abattus, le cas échéant. Ce membre doit être défini sur l’une des valeurs suivantes de l’énumération D3D10_DDI_CULL_MODE.
Valeur | Signification |
---|---|
D3D10_DDI_CULL_NONE (1) | Ne supprimez aucun triangle. |
D3D10_DDI_CULL_FRONT (2) | Face avant cull. |
D3D10_DDI_CULL_BACK (3) | Cull back faces. |
[in] FrontCounterClockwise
Valeur booléenne qui spécifie si les sommets fournis dans un ordre inverse (par rapport au rastériseur) sont à l’avant. TRUE indique qu’elles sont ; FALSE indique que les sommets au sens des aiguilles d’une montre indiquent le retour vers l’arrière.
[in] DepthBias
Constante de biais de profondeur à utiliser dans les formules de biais. Pour plus d’informations sur DepthBias, consultez la section Remarques suivantes.
[in] DepthBiasClamp
Vecteur float simple précision utilisé dans les formules de biais. Pour plus d’informations sur DepthBiasClamp, consultez la section Remarques suivantes.
[in] SlopeScaledDepthBias
Vecteur float simple précision utilisé dans les formules de biais. Pour plus d’informations sur SlopeScaledDepthBias, consultez la section Remarques suivante.
[in] DepthClipEnable
Valeur booléenne qui spécifie si le pilote doit découper les coordonnées z de vertex par rapport à la plage de profondeur de la fenêtre d’affichage. TRUE indique à clip ; FALSE indique ne pas couper.
[in] ScissorEnable
Valeur booléenne qui spécifie si le pilote doit ignorer les pixels qui se trouvent en dehors de la zone rectangulaire de ciseaux appropriée. TRUE indique à ignorer ; FALSE indique ne pas ignorer.
[in] MultisampleEnable
Valeur booléenne qui spécifie si le pilote doit suivre des règles de rastérisation à plusieurs échantillons. TRUE indique de suivre les règles ; FALSE indique que les règles suivantes ne sont pas requises. Les règles de rastérisation à plusieurs échantillons contiennent la valeur true même si les cibles de rendu contiennent un seul exemple.
[in] AntialiasedLineEnable
Valeur booléenne qui spécifie si le pilote doit afficher les lignes qui suivent les règles de rastérisation de ligne antialiased. TRUE indique de suivre les règles ; FALSE indique que les règles suivantes ne sont pas requises. Le pilote ignore la valeur dans AntialiasedLineEnable si des règles de rastérisation à échantillonnage multiple sont utilisées à la place.
Remarques
L’un des artefacts avec des ombres basées sur la mémoire tampon est l'« acné de l’ombre » (autrement dit, une surface qui s’ombre de manière intermittente en raison d’une imprécision dans l’informatique de la profondeur de la surface du nuanceur comparé à la profondeur de la même surface dans la mémoire tampon d’ombre). Une façon d’atténuer l’acné de l’ombre consiste à utiliser les DepthBias et SlopeScaledDepthBias membres lorsque vous affichez une mémoire tampon d’ombre. L’intention est de pousser suffisamment de surfaces lors du rendu d’une mémoire tampon d’ombre. Lorsque ces surfaces sont comparées par rapport à elles-mêmes par le biais de z calculé par nuanceur pendant le test d’ombre, le résultat de comparaison est cohérent sur la surface et l’ombre locale est évitée.
Toutefois, l’utilisation de DepthBias et de SlopeScaledDepthBias seul peut introduire quelques artefacts. Par exemple, un polygone extrêmement raide provoque l’explosion de l’équation de biais, qui pousse le polygone extrêmement loin de la surface d’origine dans la carte d’ombres. Considérez un visage raide, en ce qui concerne une lumière, qui est éloigné extrêmement loin par rapport aux dimensions de l’objet parent par un biais de profondeur. Supposons que ce visage soit entouré de visages peu profonds que l’équation de biais a poussé beaucoup moins. La carte d’ombre résultante a une énorme discontinuité qui peut provoquer des trous dans l’ombre qui est casté par une surface sur une autre surface plus proche que les visages explosés. Une façon d’atténuer ce problème particulier consiste à utiliser le membre DepthBiasClamp, qui fournit une limite supérieure définie par l’application (positive ou négative) sur l’ampleur du biais z.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
d’en-tête | d3d10umddi.h (include D3d10umddi.h) |