Partager via


structure D3D11_1_DDI_RASTERIZER_DESC (d3d10umddi.h)

Décrit un état de rastériseur. Utilisé par les pilotes d’affichage en mode utilisateur windows WDDM (Windows Display Driver Model) 1.2 et versions ultérieures.

Syntaxe

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;

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 orientés vers l’arrière-plan 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 coupez pas les triangles.
D3D10_DDI_CULL_FRONT (2) Visages avant de coupe.
D3D10_DDI_CULL_BACK (3) Cull back faces.

[in] FrontCounterClockwise

Valeur booléenne qui spécifie si les sommets fournis dans un ordre inverse des aiguilles d’une montre (par rapport au rastériseur) sont orientés vers l’avant. TRUE indique qu’ils le sont ; FALSE indique que les sommets dans le sens inverse des aiguilles d’une montre indiquent qu’ils sont orientés 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.

[in] DepthBiasClamp

Vecteur float simple précision utilisé dans les formules de biais. Pour plus d’informations sur DepthBiasClamp, consultez la section Remarques.

[in] SlopeScaledDepthBias

Vecteur float simple précision utilisé dans les formules de biais. Pour plus d’informations sur SlopeScaledDepthBias, consultez la section Remarques.

[in] DepthClipEnable

Valeur booléenne qui spécifie si le pilote doit cliper les coordonnées z de vertex par rapport à la plage de profondeur de la fenêtre d’affichage. TRUE indique d’effectuer un clip ; FALSE indique qu’il ne faut 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 qu’il ne faut 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 le respect des règles n’est pas obligatoire. Les règles de rastérisation à échantillon multiple ont la valeur true même si les cibles de rendu ne contiennent qu’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 anti-aliased. TRUE indique de suivre les règles ; FALSE indique que le respect des règles n’est pas obligatoire. Le pilote ignore la valeur dans AntialiasedLineEnable si des règles de rastérisation à échantillonnage multiple sont utilisées à la place.

[in] ForcedSampleCount

Lors du rendu des vues d’accès non ordonnées (UAV) ou des vues cibles de rendu (TRV), spécifie s’il faut forcer un nombre d’exemples et, si c’est le cas, le nombre maximal d’exemples. Les valeurs valides sont 0, 1, 4, 8 et 16.

Si zéro, le pilote ne doit pas forcer un nombre d’échantillons.

Remarques

L’un des artefacts avec des ombres basées sur la mémoire tampon d’ombre est « l’acné d’ombre » (c’est-à-dire une surface qui s’ombrage de façon intermittente en raison de l’imprécision dans le calcul de la profondeur de la surface à partir du nuanceur qui est comparé à la profondeur de la même surface dans le tampon d’ombre). Une façon de soulager l’acné d’ombre consiste à utiliser les membres DepthBias et SlopeScaledDepthBias lorsque vous affichez une mémoire tampon d’ombre. L’intention est de pousser suffisamment les surfaces lors du rendu d’une mémoire tampon d’ombre. Lorsque ces surfaces sont comparées à elles-mêmes à l’aide d’un nuanceur z calculé pendant le test d’ombre, le résultat de la comparaison est cohérent sur l’ensemble de la surface, et l’auto-ombre locale est évitée.

Toutefois, l’utilisation de DepthBias et slopeScaledDepthBias peut à elles seules introduire quelques artefacts. Par exemple, un polygone extrêmement abrupt provoque l’explosion de l’équation de biais, ce qui pousse le polygone extrêmement loin de la surface d’origine dans la carte d’ombres. Prenons un visage raide, par rapport à une lumière, qui est poussé très loin par rapport aux dimensions de l’objet parent par biais de profondeur. Supposons que ce visage soit entouré de visages plus superficiels que l’équation de biais a beaucoup moins poussé. La carte d’ombres résultante a une énorme discontinuité qui peut provoquer des trous dans l’ombre qui est projetée par une surface sur une autre surface plus proche des visages éclatés. L’un des moyens d’atténuer ce problème particulier consiste à utiliser le membre DepthBiasClamp , qui fournit une limite supérieure (positive ou négative) paramétrable par l’application sur l’ampleur du biais z.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
En-tête d3d10umddi.h (include D3d10umddi.h)