Was ist ein OpenGL®-Polygon?

Ein OpenGL®-Polygon (Open Graphics Library®) ist ein beliebiges in OpenGL® erstelltes Objekt, das aus mehr als zwei Scheitelpunkten besteht. Grundsätzlich wird jedes Objekt, das kein Punkt oder keine Linie ist, als Polygon betrachtet. OpenGL® sowie die meisten Grafikkarten haben normalerweise spezielle Optimierungen, um hauptsächlich Dreiecke oder dreiseitige Polygone zu behandeln, da Dreiecke die einfachste Art von Polygon sind, die mit den wenigsten Eckpunkten und Seiten erstellt werden kann. In einigen Fällen können Vierecke oder vierseitige Polygone von OpenGL® verarbeitet werden, hauptsächlich in zweidimensionalen (2D) Zeichenmodi. Mit Ausnahme eines konvexen, einfachen OpenGL®-Polygons werden die meisten Formen mit mehr als drei Scheitelpunkten schließlich durch einen Prozess namens Tessellation in Dreiecke zerlegt, was dramatische unerwünschte Auswirkungen auf eine Szene haben kann.

Der einzige OpenGL®-Polygontyp, der ohne Tessellation nativ gezeichnet werden kann, ist ein einfaches Polygon. Diese Art der Form folgt einigen sehr einfachen Regeln. Die Seiten müssen konvex sein, dh, sie bilden keine Winkel an den Eckpunkten von weniger als 90 °. Keine Kante kann sich kreuzen und nur zwei Linien können sich an einem bestimmten Scheitelpunkt treffen. Dies begrenzt ein einfaches Polygon auf eine in sich geschlossene 2D-Form wie ein Quadrat oder ein Achteck, da bei einer dreidimensionalen Form (3D) an einigen Eckpunkten mehr als zwei Linien aufeinander treffen würden.

Bei der Erstellung eines sehr komplexen OpenGL®-Polygons ist es häufig einfacher, das Objekt in einem externen 3D-Modellierungsprogramm zu erstellen. Dies ermöglicht nicht nur eine bequemere visuelle Umgebung zum Erstellen eines Objekts, sondern bietet dem Designer auch den zusätzlichen Vorteil, die Kontrolle darüber zu haben, wie Formen tesselliert werden, sodass sie beim Rendern keine Probleme verursachen. Alternativ kann ein Polygon prozedural durch Algorithmen erstellt werden, die die Scheitelpunkte gemäß einem Muster darstellen, wie dies zum Erstellen einer Helix oder eines Spiralmusters möglich ist.

Jedes OpenGL®-Polygon hat eine Fläche, die ausgefüllte Fläche innerhalb der Linien der Form. Obwohl es möglich ist, dieses Verhalten zu ändern, ist jedes Polygon im Allgemeinen nur sichtbar, wenn sein Gesicht in Richtung der Betrachtungskamera zeigt. Wenn ein Polygon in die falsche Richtung zeigt, wird es je nach Rendermodus möglicherweise unsichtbar.

Jedes OpenGL®-Polygon hat auch einen Wert, der als normal bezeichnet wird. Die Normale wird verwendet, um die Richtung zu definieren, in die die Oberfläche des Polygons zeigt. Obwohl sich das Polygon deutlich in einem bestimmten Winkel und an einer bestimmten Position befindet, kann die Oberflächennormale dazu beitragen, spezielle Textureffekte zu erzeugen oder physikalische Eigenschaften nachzuahmen, die nicht einheitlich sind. Eine Normale für ein OpenGL®-Polygon kann auf einen beliebigen Wert festgelegt werden, auch auf negative Werte, obwohl die Ergebnisse möglicherweise nicht vorhersehbar sind.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?