Was sind OpenGL®-Linien?
In Open Graphics Library® (OpenGL®) sind Linien eine der grundlegenden primitiven Formen, die OpenGL® zeichnen kann, und sie bilden einen der Bausteine, die manchmal zum Rendern von Dreiecken verwendet werden. OpenGL®-Linien sind nur eine gerade Verbindungsgrafik zwischen zwei Scheitelpunkten. Obwohl das Konzept und die Ausführung von OpenGL®-Linien einfach sein können, dauert das Rendern in einigen Implementierungen in der Regel länger als bei anderen Grundelementen. Dies liegt zum Teil daran, dass im OpenGL®-Standard keine Angaben zu ihrem Verhalten gemacht wurden. Die explizite Verwendung von OpenGL®-Linien kann manchmal zu unerwarteten Ergebnissen führen, da die Linien auf eine bestimmte Weise gerastert werden, die sie möglicherweise von anderen Geometrien in der Szene losgelöst erscheinen lässt oder geringfügig von der erwarteten Position abweicht. Zusätzlich zu einer Grundlinie können OpenGL®-Linien ähnlich wie Dreieckslinien auch zu Linien- und Schleifenlinien geformt werden, wobei das Ende jeder Linie der Anfang der nächsten Linie ist.
Bei der Verwendung in einer Szene sind OpenGL®-Linien eine Art Formprimitiv, das aus zwei Scheitelpunkten oder Koordinaten im dreidimensionalen Raum (3D) besteht, die durch einen geraden, sichtbaren Pfad verbunden sind. Im Gegensatz zu anderen Grundelementen, wie z. B. einem Dreieck, hat eine Linie im Allgemeinen keine Oberfläche, obwohl sie weiterhin mit Überblendung und Scheitelfarben eingefärbt werden kann. Linien werden häufig in mathematischen und wissenschaftlichen 3D-Visualisierungen sowie für zweidimensionale (2D) Anzeigeindikatoren - wie Fadenkreuz oder Pfeile, die auf Bereiche der Anzeige zeigen - für den Betrachter verwendet.
Die Breite einer Linie kann bis zu einem gewissen Grad über OpenGL® definiert werden. Die Anzahl der Pixel, die die Linie an einem bestimmten Punkt breit sein soll, kann angegeben werden, obwohl es keinen echten Standard dafür gibt, wie dies von einer Plattform zur anderen funktionieren soll. In einigen Situationen kann die Breite überhaupt nicht geändert werden, während in anderen Fällen die Breite von OpenGL®-Linien auf eine scheinbar willkürliche Zahl beschränkt ist.
Zusätzlich zu der Basislinie können mehrere OpenGL®-Linien kombiniert werden, um zwei andere Strukturen zu bilden, die als Linienstreifen und Linienschleifen bekannt sind. Linienstreifen sind einfach eine Folge von Eckpunkten, bei denen der Anfang jeder neuen Linie der Endpunkt der letzten Linie ist. Dies ist hauptsächlich eine Komfortfunktion, kann jedoch schneller gerendert werden als die Verwendung einzelner Zeilen. Eine Linienschleife ist fast identisch mit einem Linienstreifen, außer dass der allerletzte Scheitelpunkt in der Schleife dann wieder mit dem ersten angegebenen Scheitelpunkt verbunden wird.
Eine Schwierigkeit bei der Verwendung von OpenGL®-Linien besteht darin, dass sie, da sie standardmäßig nur 1 Pixel breit sind, manchmal nicht richtig gerendert werden. In bestimmten Fällen, insbesondere wenn die Linie gegen Alias gerichtet ist, werden bestimmte Pixel im gerasterten Bild möglicherweise nicht angezeigt. Die Linie selbst kann auch ein paar Pixel von der erwarteten Position entfernt erscheinen. Dies wird hauptsächlich durch winzige Abweichungen in der Gleitkomma-Mathematik verursacht, die OpenGL® verwendet. Es ist nicht immer ein Problem, das leicht gelöst werden kann, ohne dass Linien für Renderingzwecke in Polygone umgewandelt werden müssen.