IDirect3DDevice9::SetClipStatus-Methode (d3d9helper.h)
Legt den Clip status fest.
Syntax
HRESULT SetClipStatus(
[in] const D3DCLIPSTATUS9 *pClipStatus
);
Parameter
[in] pClipStatus
Typ: const D3DCLIPSTATUS9*
Zeiger auf eine D3DCLIPSTATUS9-Struktur, in der der Clip status festzulegenden Einstellungen beschrieben wird.
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 clipping während der Vertexverarbeitung (von IDirect3DDevice9::P rocessVertices, IDirect3DDevice9::D rawPrimitive oder anderen 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 IDirect3DDevice9::D rawRectPatch und IDirect3DDevice9::D rawTriPatch nicht aktualisiert, da für sie keine Softwareemulation vorhanden ist.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d9helper.h (include D3D9.h) |
Bibliothek | D3D9.lib |