Freigeben über


D3DCLIPSTATUS9-Struktur

Beschreibt den aktuellen clip status.

Syntax

typedef struct D3DCLIPSTATUS9 {
  DWORD ClipUnion;
  DWORD ClipIntersection;
} D3DCLIPSTATUS9, *LPD3DCLIPSTATUS9;

Member

Clipunion

Typ: DWORD

Clip Union Flags, die den aktuellen Clip status beschreiben. Bei diesem Member kann es sich um ein oder mehrere der folgenden Flags handelt:

Wert Bedeutung
D3DCS_ALL
Kombination aller Clipflags.
D3DCS_LEFT
Alle Scheitelpunkte werden von der linken Ebene des Anzeige frustums beschnitten.
D3DCS_RIGHT
Alle Scheitelpunkte werden von der rechten Ebene des Anzeige frustums abgeschnitten.
D3DCS_TOP
Alle Scheitelpunkte werden von der obersten Ebene des Anzeige frustums abgeschnitten.
D3DCS_BOTTOM
Alle Scheitelpunkte werden von der unteren Ebene des Anzeige frustums abgeschnitten.
D3DCS_FRONT
Alle Scheitelpunkte werden von der vorderen Ebene des Anzeige frustums abgeschnitten.
D3DCS_BACK
Alle Scheitelpunkte werden von der Hinterebene des Anzeige frustums beschnitten.
D3DCS_PLANE0
Anwendungsdefinierte Clippingebenen.
D3DCS_PLANE1
Anwendungsdefinierte Clippingebenen.
D3DCS_PLANE2
Anwendungsdefinierte Clippingebenen.
D3DCS_PLANE3
Anwendungsdefinierte Clippingebenen.
D3DCS_PLANE4
Anwendungsdefinierte Clippingebenen.
D3DCS_PLANE5
Anwendungsdefinierte Clippingebenen.

 

ClipIntersection

Typ: DWORD

Schnittmengenflags ausschneiden, die den aktuellen Clip status beschreiben. Dieses Mitglied kann die gleichen Flags wie ClipUnion verwenden.

Bemerkungen

Wenn das Clipping während der Vertexverarbeitung (durch ProcessVertices, DrawPrimitive oder andere Zeichnungsfunktionen) aktiviert ist, berechnet Direct3D einen Clipcode für jeden Scheitelpunkt. Der Clipcode ist eine Kombination aus D3DCS_*-Bits. Wenn sich ein Scheitelpunkt außerhalb einer bestimmten Clippingebene befindet, wird das entsprechende Bit im Beschneidungscode festgelegt. Direct3D verwaltet den Clip status mithilfe von D3DCLIPSTATUS9, das Über ClipUnion- und ClipIntersection-Member verfügt. ClipUnion ist ein bitweises OR aller Vertexclipcodes, und ClipIntersection ist ein bitweises AND aller Vertexclipcodes. Die Anfangswerte sind null für ClipUnion und 0xFFFFFFFF für ClipIntersection. Wenn D3DRS_CLIPPING auf FALSE festgelegt ist, werden ClipUnion und ClipIntersection auf 0 (null) festgelegt. Direct3D aktualisiert den Clip status während Zeichnungsaufrufen. Um clip status für ein bestimmtes Objekt zu berechnen, legen Sie ClipUnion und ClipIntersection auf ihren Anfangswert fest, und fahren Sie mit dem Zeichnen fort.

Clip status wird von DrawRectPatch und DrawTriPatch nicht aktualisiert, da für diese keine Softwareemulation vorhanden ist.

Anforderungen

Anforderung Wert
Header
D3D9Types.h

Siehe auch

Direct3D-Strukturen

GetClipStatus

SetClipStatus