D3D10_RASTERIZER_DESC-Struktur (d3d10.h)

Beschreibt den Rasterisierungsstatus.

Syntax

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;

Member

FillMode

Typ: D3D10_FILL_MODE

Ein Member des D3D10_FILL_MODE aufgezählten Typs, der den beim Rendern zu verwendenden Füllmodus bestimmt. Der Standardwert ist D3D10_FILL_SOLID.

CullMode

Typ: D3D10_CULL_MODE

Ein Element des D3D10_CULL_MODE aufgezählten Typs, der angibt, ob Dreiecke mit Blick auf die angegebene Richtung gezeichnet werden. Der Standardwert ist D3D10_CULL_BACK.

FrontCounterClockwise

Typ: BOOL

Bestimmt, ob ein Dreieck nach vorne oder nach hinten ausgerichtet ist. Wenn dieser Parameter TRUE ist, wird ein Dreieck als frontseitig betrachtet, wenn seine Scheitelpunkte auf dem Renderziel gegen den Uhrzeigersinn sind, und als rückwärtsgewandt betrachtet, wenn sie im Uhrzeigersinn sind. Wenn dieser Parameter FALSE ist, ist das Gegenteil wahr. Der Standardwert ist FALSE.

DepthBias

Typ: INT

Gibt den Tiefenwert an, der einem bestimmten Pixel hinzugefügt wird. Der Standardwert ist 0. Informationen zu Tiefenverzerrungen finden Sie unter Tiefenvoreingenommenheit.

DepthBiasClamp

Typ: FLOAT

Gibt die maximale Tiefenverzerrung eines Pixels an. Der Standardwert ist 0.0f. Informationen zu Tiefenverzerrungen finden Sie unter Tiefenvoreingenommenheit.

SlopeScaledDepthBias

Typ: FLOAT

Gibt einen Skalar für die Neigung eines bestimmten Pixels an. Der Standardwert ist 0.0f. Informationen zu Tiefenverzerrungen finden Sie unter Tiefenvoreingenommenheit.

DepthClipEnable

Typ: BOOL

Aktiviert oder deaktiviert das Ausschneiden basierend auf der Entfernung. Der Standardwert ist TRUE.

Die Hardware führt immer x- und y-Clipping von gerasterten Koordinaten durch. Wenn DepthClipEnable auf den Standardwert festgelegt ist, klammert die Hardware auch den z-Wert ab (das heißt, 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 das z-Clipping (also den letzten Schritt im vorherigen Algorithmus). Die Hardware führt jedoch weiterhin das "0 < w"-Clipping aus. Wenn das Z-Clipping deaktiviert ist, kann es zu einer falschen Tiefenreihenfolge auf Pixelebene kommen. Wenn das Z-Clipping jedoch deaktiviert ist, werden Die Implementierungen von Schablonenschatten vereinfacht. Mit anderen Worten, Sie können eine komplexe Sonderfallbehandlung für Geometrie vermeiden, die über die zurückgeschnittene Ebene hinausgeht.

ScissorEnable

Typ: BOOL

Aktivieren oder deaktivieren Scherenrechteck-Culling. Alle Pixel außerhalb eines aktiven Scherenrechtecks werden gekullt. Der Standardwert ist FALSE. Weitere Informationen finden Sie unter Festlegen des Scherenrechtecks.

MultisampleEnable

Typ: BOOL

Gibt an, ob der Quadrilateral- oder Alphaline-Antialiasingalgorithmus auf MSAA-Renderzielen (Multisample Antialiasing) verwendet werden soll. Der Standardwert ist FALSE. Legen Sie true fest, um den Antialiasingalalgorithmus für viereckige Linien zu verwenden, und auf FALSE , um den Antialiasingalgorithmus für Alphalinien 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 die Alphamischung aktiviert ist, Sie Linien zeichnen und das MultisampleEnable-ElementFALSE ist. Der Standardwert ist FALSE. Weitere Informationen zu diesem Member finden Sie unter Hinweise.

Hinweise

Der Rasterisierungszustand definiert das Verhalten der Rasterizerphase. Um ein Rasterizer-Zustandsobjekt zu erstellen, rufen Sie ID3D10Device::CreateRasterizerState auf. Um den Rasterisiererstatus festzulegen, rufen Sie ID3D10Device::RSSetState auf.

Hinweis Wenn Sie MultisampleEnable auf FALSE festlegen, werden für die Featureebenen 9.1, 9.2, 9.3 und 10.0 alle Punkte, Linien und Dreiecke ohne Antialiasing gerendert, auch für Renderziele mit einer Stichprobenanzahl von mehr als 1. Für Featureebene 10.1 hat die Einstellung von MultisampleEnable keine Auswirkungen auf Punkte und Dreiecke in Bezug auf MSAA und wirkt sich nur auf die Auswahl des Zeilenrenderingalgorithmus aus, wie in dieser Tabelle gezeigt:
 
Zeilenrenderalgorithmus MultisampleEnable AntialiasedLineEnable
Alias FALSE FALSE
Alpha antialiased FALSE TRUE
Viereck TRUE FALSE
Viereck TRUE TRUE
 

Die Einstellungen der MultisampleEnable - und AntialiasedLineEnable-Member gelten nur für Multisample Antialiasing-Ziele (MSAA) (Renderziele mit einer Stichprobenanzahl von mehr als 1). Aufgrund der Unterschiede im Verhalten auf Featureebene und solange Sie keine Linienzeichnungen ausführen oder nichts dagegen haben, dass Linien als Viereck gerendert werden, empfiehlt es sich, MultisampleEnable immer auf TRUE festzulegen, wenn Sie auf MSAA-Renderzielen rendern.

Anforderungen

   
Kopfzeile d3d10.h

Weitere Informationen

Kernstrukturen