IDirect3DDevice9::SetClipPlane-Methode (d3d9helper.h)
Legt die Koeffizienten einer benutzerdefinierten Clippingebene für das Gerät fest.
Syntax
HRESULT SetClipPlane(
[in] DWORD Index,
[in] const float *pPlane
);
Parameter
[in] Index
Typ: DWORD
Index der Clippingebene, für die die Ebenengleichungskoeffizienten festgelegt werden sollen.
[in] pPlane
Typ: const float*
Zeiger auf eine Adresse eines Vier-Element-Arrays von Werten, die die festzulegenden Clippingebenenkoeffizienten in Form der allgemeinen Ebenengleichung darstellen. Siehe Hinweise.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, wird der Rückgabewert D3DERR_INVALIDCALL. Dieser Fehler gibt an, dass der Wert in Index den vom Gerät unterstützten maximalen Clippingebenenindex überschreitet oder dass das Array bei pPlane nicht groß genug ist, um vier Gleitkommawerte zu enthalten.
Hinweise
Die Koeffizienten, die diese Methode festlegt, haben die Form der allgemeinen Ebenengleichung. Wenn die Werte im Array bei pPlane mit A, B, C und D in der Reihenfolge bezeichnet würden, in der sie im Array angezeigt werden, würden sie in die allgemeine Ebenengleichung passen, sodass Ax + By + Cz + Dw = 0. Ein Punkt mit homogenen Koordinaten (x, y, z, w) ist im Halbraum der Ebene sichtbar, wenn Ax + By + Cz + Dw >= 0. Punkte, die hinter der Clippingebene vorhanden sind, werden von der Szene abgeschnitten.
Wenn die Pipeline für feste Funktionen verwendet wird, wird davon ausgegangen, dass sich die Ebenengleichungen im Weltraum befinden. Wenn die programmierbare Pipeline verwendet wird, wird davon ausgegangen, dass sich die Ebenengleichungen im Clippingbereich befinden (der gleiche Raum wie Ausgabevertices).
Mit dieser Methode wird die festgelegte Gleichung der Clippingebene nicht aktiviert. Um eine Beschneidungsebene zu aktivieren, legen Sie das entsprechende Bit im DWORD-Wert fest, der auf den D3DRS_CLIPPLANEENABLE Renderzustand angewendet wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d9helper.h (include D3D9.h) |
Bibliothek | D3D9.lib |