Freigeben über


Clipping (OpenGL)

Clipping erfolgt in zwei Schritten:

  1. Zeigen Sie den clippingApplication-spezifischen Clipping an. Unmittelbar nach der Zusammenstellung von Grundtypen werden sie bei Bedarf in Augenkoordinaten abgeschnitten, die Sie für alle Clippingebenen definiert haben, die Sie mit glClipPlanedefiniert 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 von den Matrixtransformationsfunktionen (siehe Matrixtransformationen) gesteuert werden, wird jedoch in der Regel durch glFrustum- oder glOrtho-angegeben.

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

  • Punkte werden entweder im ursprünglichen Zustand beibehalten (wenn sie sich innerhalb des Clipvolumens befinden) oder verworfen (wenn sie sich außerhalb der Cliplautstärke befinden).
  • Wenn Teile von Liniensegmenten oder Polygonen außerhalb des Clipvolumens liegen, werden an den Clippunkten neue Scheitelpunkte generiert.
  • Bei Polygonen muss möglicherweise ein ganzer Rand zwischen neuen Scheitelpunkten erstellt werden, die an den Clippunkten generiert werden.
  • Bei Liniensegmenten und Polygonen, die abgeschnitten werden, werden allen neuen Scheitelpunkten die Randkennzeichnung, die Farbe und die Texturinformationen zugewiesen.