IDirect3DDevice9::SetClipStatus-Methode (d3d9.h)
Legt den Clip status fest.
Syntax
HRESULT SetClipStatus(
[in] const D3DCLIPSTATUS9 *pClipStatus
);
Parameter
[in] pClipStatus
Typ: const D3DCLIPSTATUS9*
Zeiger auf eine D3DCLIPSTATUS9-Struktur, die den Clip status festzulegenden Einstellungen beschreibt.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn eines der Argumente ungültig ist, wird der Rückgabewert D3DERR_INVALIDCALL.
Hinweise
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.
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 den Clip status mithilfe von D3DCLIPSTATUS9, das 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.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d9.h (einschließlich D3D9.h) |
Bibliothek | D3D9.lib |