Freigeben über


Clipping (OpenGL)

Das Clipping erfolgt in zwei Schritten:

  1. Anzeigen von VolumeclippingAnwendungsspezifisches Clipping. Unmittelbar nach dem Zusammensetzen von Grundtypen werden sie bei Bedarf in Augenkoordinaten für alle Clippingebenen beschnitten, die Sie mit glClipPlane definiert haben. (OpenGL erfordert Unterstützung für mindestens sechs anwendungsspezifische Clippingebenen.)
  2. Grundtypen werden von der Projektionsmatrix in Clipkoordinaten transformiert und vom entsprechenden Ansichtsvolumen abgeschnitten. Diese Matrix kann durch die Matrixtransformationsfunktionen gesteuert werden (siehe Matrixtransformationen), wird aber in der Regel durch glFrustum oder glOrtho angegeben.

Punkte, Liniensegmente und Polygone werden während des Clippings unterschiedlich behandelt:

  • Punkte werden entweder in ihrem ursprünglichen Zustand beibehalten (wenn sie sich innerhalb des Clipvolumes befinden) oder verworfen (wenn sie sich außerhalb des Clipvolumes befinden).
  • Wenn Sich Teile von Liniensegmenten oder Polygonen außerhalb des Clipvolumens befinden, werden neue Scheitelpunkte an den Clippunkten generiert.
  • Bei Polygonen muss möglicherweise ein ganzer Rand zwischen neuen Scheitelpunkten erstellt werden, die an den Clippunkten generiert werden.
  • Für Liniensegmente und Polygone, die beschnitten werden, werden allen neuen Scheitelpunkten die Randflag-, Farb- und Texturinformationen zugewiesen.