IDirect3DDevice9::GetClipStatus-Methode (d3d9.h)
Ruft den clip status ab.
Syntax
HRESULT GetClipStatus(
[out] D3DCLIPSTATUS9 *pClipStatus
);
Parameter
[out] pClipStatus
Typ: D3DCLIPSTATUS9*
Zeiger auf eine D3DCLIPSTATUS9-Struktur, die den Clip status beschreibt.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK.
D3DERR_INVALIDCALL wird zurückgegeben, wenn das Argument ungültig ist.
Hinweise
Wenn das Clipping während der Vertexverarbeitung (durch IDirect3DDevice9::P rocessVertices, IDirect3DDevice9::D rawPrimitive oder andere Zeichenfunktionen) 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 Clippingcode festgelegt. Direct3D verwaltet die Clip-status mithilfe von D3DCLIPSTATUS9, die ClipUnion- und ClipIntersection-Member enthält. ClipUnion ist ein bitweises "OR" aller Vertex-Clipcodes und ClipIntersection ist ein bitweises "AND" aller Vertex-Clipcodes. Anfangswerte sind null für ClipUnion und 0xFFFFFFFF für ClipIntersection. Wenn D3DRS_CLIPPING auf FALSE festgelegt ist, werden ClipUnion und ClipIntersection auf 0 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 IDirect3DDevice9::D rawRectPatch und IDirect3DDevice9::D rawTriPatch nicht aktualisiert, da es keine Softwareemulation für sie gibt.
Clip status wird während der Softwarevertexverarbeitung verwendet. Daher wird diese Methode auf reinen oder nicht reinen Hardwareverarbeitungsgeräten nicht unterstützt. Weitere Informationen zu reinen Geräten finden Sie unter D3DCREATE.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d9.h (einschließlich D3D9.h) |
Bibliothek | D3D9.lib |