structure D3D10_RASTERIZER_DESC (d3d10.h)
Décrit l’état du rastériseur.
Syntaxe
typedef struct D3D10_RASTERIZER_DESC {
D3D10_FILL_MODE FillMode;
D3D10_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
} D3D10_RASTERIZER_DESC;
Membres
FillMode
Type : D3D10_FILL_MODE
Un membre du D3D10_FILL_MODE type énuméré qui détermine le mode de remplissage à utiliser lors du rendu. La valeur par défaut est D3D10_FILL_SOLID.
CullMode
Type : D3D10_CULL_MODE
Un membre du D3D10_CULL_MODE type énuméré qui indique si les triangles faisant face à la direction spécifiée sont dessinés. La valeur par défaut est D3D10_CULL_BACK.
FrontCounterClockwise
Type : BOOL
Détermine si un triangle est orienté vers l’avant ou vers l’arrière. Si ce paramètre a la valeur TRUE, un triangle est considéré comme orienté vers l’avant si ses sommets sont dans le sens inverse des aiguilles d’une montre sur la cible de rendu et considérés comme orientés vers l’arrière s’ils sont dans le sens des aiguilles d’une montre. Si ce paramètre a la valeur FALSE, l’inverse est vrai. La valeur par défaut est FALSE.
DepthBias
Type : INT
Spécifie la valeur de profondeur ajoutée à un pixel donné. La valeur par défaut est 0. Pour plus d’informations sur le biais de profondeur, consultez Biais de profondeur.
DepthBiasClamp
Type : FLOAT
Spécifie le biais de profondeur maximal d’un pixel. La valeur par défaut est 0,0f. Pour plus d’informations sur le biais de profondeur, consultez Biais de profondeur.
SlopeScaledDepthBias
Type : FLOAT
Spécifie un scalaire sur la pente d’un pixel donné. La valeur par défaut est 0,0f. Pour plus d’informations sur le biais de profondeur, consultez Biais de profondeur.
DepthClipEnable
Type : BOOL
Active ou désactive le découpage en fonction de la distance. La valeur par défaut est TRUE.
Le matériel effectue toujours le découpage x et y des coordonnées rastérisées. Lorsque DepthClipEnable est défini sur la valeur par défaut, le matériel clipse également la valeur z (autrement dit, le matériel effectue la dernière étape de l’algorithme suivant).
0 < w
-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
0 <= z <= w
Lorsque vous définissez DepthClipEnable sur FALSE, le matériel ignore le découpage z (c’est-à-dire la dernière étape de l’algorithme précédent). Toutefois, le matériel effectue toujours le découpage « 0 < w ». Lorsque le découpage z est désactivé, un ordre de profondeur incorrect au niveau des pixels peut en résulter. Toutefois, lorsque le découpage z est désactivé, les implémentations d’ombres de gabarit sont simplifiées. En d’autres termes, vous pouvez éviter une gestion complexe des cas spéciaux pour la géométrie qui va au-delà du plan de découpage arrière.
ScissorEnable
Type : BOOL
Activez ou désactive l’élimination en ciseaux-rectangles. Tous les pixels en dehors d’un rectangle de ciseaux actif sont abattus. La valeur par défaut est FALSE. Pour plus d’informations, consultez Définir le rectangle de scissor.
MultisampleEnable
Type : BOOL
Spécifie s’il faut utiliser l’algorithme d’anti-aliasing de ligne quadrilatérale ou alpha sur les cibles de rendu msaa (multi-échantillon). La valeur par défaut est FALSE. Définissez sur TRUE pour utiliser l’algorithme d’anti-aliasing de ligne quadrilatérale et sur FALSE pour utiliser l’algorithme d’anti-aliasing de ligne alpha. Pour plus d’informations sur ce membre, consultez Remarques.
AntialiasedLineEnable
Type : BOOL
Spécifie s’il faut activer l’anti-attirail de ligne ; S’applique uniquement lorsque la fusion alpha est activée, que vous dessinez des lignes et que le membre MultisampleEnable a la valeur FALSE. La valeur par défaut est FALSE. Pour plus d’informations sur ce membre, consultez Remarques.
Remarques
L’état du rastériseur définit le comportement de la phase de rastériseur. Pour créer un objet rasterizer-state, appelez ID3D10Device::CreateRasterizerState. Pour définir l’état du rastériseur, appelez ID3D10Device::RSSetState.
Algorithme de rendu de ligne | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
Alias | FALSE | FALSE |
Alpha anti-ataliased | FALSE | TRUE |
Quadrilatère | TRUE | FALSE |
Quadrilatère | TRUE | TRUE |
Les paramètres des membres MultisampleEnable et AntialiasedLineEnable s’appliquent uniquement aux cibles de rendu msaa (Multisample Antialiasing) (c’est-à-dire les cibles de rendu dont le nombre d’exemples est supérieur à 1). En raison des différences de comportement au niveau des fonctionnalités et tant que vous n’effectuez aucun dessin de trait ou que vous ne vous souciez pas que les lignes s’affichent en tant que quadrilatères, nous vous recommandons de toujours définir MultisampleEnable sur TRUE chaque fois que vous effectuez un rendu sur des cibles de rendu MSAA.
Configuration requise
En-tête | d3d10.h |