D3DCLIPSTATUS9-Struktur

Beschreibt den aktuellen Clipstatus.

Syntax

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

Member

Clipunion

Typ: DWORD

Ausschneiden von Union-Flags, die den aktuellen Clipstatus beschreiben. Dieser Member kann eines oder mehrere der folgenden Flags sein:

Wert Bedeutung
D3DCS _ ALL
Kombination aller Clipflags.
D3DCS _ LEFT
Alle Scheitelpunkte werden von der linken Ebene des Anzeige-Frustums abgeschnitten.
D3DCS _ RIGHT
Alle Scheitelpunkte werden von der rechten Ebene des Anzeige-Frustums abgeschnitten.
D3DCS _ TOP
Alle Scheitelpunkte werden von der oberen 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 Hintergrundebene des Anzeige-Frustums abgeschnitten.
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, die den aktuellen Clipstatus beschreiben. Dieser Member kann die gleichen Flags wie ClipUnion annehmen.

Hinweise

Wenn clipping während der Vertexverarbeitung aktiviert ist (durch ProcessVertices, DrawPrimitiveoder andere Zeichnungsfunktionen), 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 Clippingcode festgelegt. Direct3D verwaltet den Clipstatus mithilfe von D3DCLIPSTATUS9, das ClipUnion- und ClipIntersection-Member enthält. ClipUnion ist ein bitweises OR aller Scheitelpunkt-Clipcodes, und ClipIntersection ist ein bitweises AND aller Scheitelpunkt-Clipcodes. Die Anfangswerte sind 0 (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 Clipstatus während Zeichnungsaufrufen. Um den Clipstatus für ein bestimmtes Objekt zu berechnen, legen Sie ClipUnion und ClipIntersection auf ihren Anfangswert fest, und fahren Sie mit dem Zeichnen fort.

Der Clipstatus wird von DrawRectPatch und DrawTriPatch nicht aktualisiert, da dafür keine Softwareemulation vorhanden ist.

Anforderungen

Anforderung Wert
Header
D3D9Types.h

Weitere Informationen

Direct3D-Strukturen

GetClipStatus

SetClipStatus