D3D11_RASTERIZER_DESC-Struktur (d3d11.h)
Beschreibt den Rasterizerstatus.
Syntax
typedef struct D3D11_RASTERIZER_DESC {
D3D11_FILL_MODE FillMode;
D3D11_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
} D3D11_RASTERIZER_DESC;
Member
FillMode
Typ: D3D11_FILL_MODE
Bestimmt den Füllmodus, der beim Rendern verwendet werden soll (siehe D3D11_FILL_MODE).
CullMode
Typ: D3D11_CULL_MODE
Gibt an, dass Dreiecke, die der angegebenen Richtung gegenüberstehen, nicht gezeichnet werden (siehe D3D11_CULL_MODE).
FrontCounterClockwise
Typ: BOOL
Bestimmt, ob ein Dreieck nach vorne oder hinten ausgerichtet ist. Wenn dieser Parameter TRUE ist, wird ein Dreieck als frontseitig betrachtet, wenn seine Scheitelpunkte auf dem Renderziel gegen den Uhrzeigersinn und als rückwärts gerichtet gelten, wenn sie im Uhrzeigersinn sind. Wenn dieser Parameter FALSE ist, ist das Gegenteil true.
DepthBias
Typ: INT
Tiefenwert, der einem bestimmten Pixel hinzugefügt wurde. Informationen zur Tiefenverzerrung finden Sie unter Tiefenverzerrung.
DepthBiasClamp
Typ: FLOAT
Maximale Tiefenabweichung eines Pixels. Informationen zur Tiefenverzerrung finden Sie unter Tiefenverzerrung.
SlopeScaledDepthBias
Typ: FLOAT
Skalar auf der Neigung eines bestimmten Pixels. Informationen zur Tiefenverzerrung finden Sie unter Tiefenverzerrung.
DepthClipEnable
Typ: BOOL
Aktivieren Sie die Beschneidung basierend auf der Entfernung.
Die Hardware führt immer x- und y-Clipping von gerasterten Koordinaten durch. Wenn DepthClipEnable auf den Standardwert TRUE festgelegt ist, schneidet die Hardware auch den z-Wert ab (d. a. die Hardware führt den letzten Schritt des folgenden Algorithmus aus).
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
Wenn Sie DepthClipEnable auf FALSE festlegen, überspringt die Hardware den Z-Clipping (d. a. den letzten Schritt im vorherigen Algorithmus). Die Hardware führt jedoch weiterhin den Clipping "0 < w" aus. Wenn das Z-Clipping deaktiviert ist, kann es zu einer falschen Tiefenreihenfolge auf Pixelebene kommen. Wenn das Z-Clipping jedoch deaktiviert ist, werden Schablonenschattenimplementierungen vereinfacht. Mit anderen Worten, Sie können eine komplexe Sonderfallbehandlung für Geometrie vermeiden, die über die Zurückschneideebene hinausgeht.
ScissorEnable
Typ: BOOL
Aktivieren Sie die Schere-Rechteck-Culling. Alle Pixel außerhalb eines aktiven Scherenrechtecks werden gekullt.
MultisampleEnable
Typ: BOOL
Gibt an, ob der Antialiasingalal- oder Alphalinienalgorithmus auf MSAA-Renderzielen (Multisample Antialiasing) verwendet werden soll. Legen Sie auf TRUE fest, um den Antialiasing-Algorithmus für viereckige Linien zu verwenden, und auf FALSE , um den Antialiasingalgorithmus für Alphazeilen zu verwenden. Weitere Informationen zu diesem Member finden Sie unter Hinweise.
AntialiasedLineEnable
Typ: BOOL
Gibt an, ob das Zeilen antialiasing aktiviert werden soll; Gilt nur, wenn das Zeichnen von Linien ausgeführt wird und MultisampleEnablefalse ist. Weitere Informationen zu diesem Member finden Sie unter Hinweise.
Hinweise
Der Rasterizerzustand definiert das Verhalten der Rasterizerphase. Um ein rasterizer-state-Objekt zu erstellen, rufen Sie ID3D11Device::CreateRasterizerState auf. Rufen Sie ID3D11DeviceContext::RSSetState auf, um den Rasterizerstatus festzulegen.
Wenn Sie keinen Rasterizerzustand angeben, verwendet die Direct3D-Runtime die folgenden Standardwerte für den Rasterizerzustand.
State | Standardwert |
---|---|
Fillmode | Basis |
CullMode | Zurück |
FrontCounterClockwise | FALSE |
DepthBias | 0 |
SlopeScaledDepthBias | 0.0f |
DepthBiasClamp | 0.0f |
DepthClipEnable | TRUE |
ScissorEnable | FALSE |
MultisampleEnable | FALSE |
AntialiasedLineEnable | FALSE |
Zeilenrenderingalgorithmus | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
Alias | FALSE | FALSE |
Alpha antialiased | FALSE | TRUE |
Viereck | TRUE | FALSE |
Viereck | TRUE | TRUE |
Die Einstellungen der Elemente MultisampleEnable und AntialiasedLineEnable gelten nur für MSAA-Renderziele (Multisample Antialiasing) (d. a. Renderziele mit einer Stichprobenanzahl von mehr als 1). Aufgrund der Unterschiede beim Verhalten auf Featureebene und solange Sie keine Linienzeichnung durchführen oder es ihnen nicht stört, dass Linien als Quadrilaterale gerendert werden, wird empfohlen, MultisampleEnable immer auf TRUE festzulegen, wenn Sie auf MSAA-Renderzielen rendern.
Anforderungen
Anforderung | Wert |
---|---|
Header | d3d11.h |