Was ist OpenGL®-Text?
OpenGL®-Text beschreibt alle Computerschriftarten, die mithilfe verschiedener Methoden als Element in einer OpenGL®-Szene angezeigt werden. Es gibt für OpenGL® keine angeborene Fähigkeit, Text in einer dreidimensionalen (3D-) Szene anzuzeigen, und es gibt wirklich keine intrinsischen Möglichkeiten, Systemtext in einem Framebuffer zu überlagern. Dies hat dazu geführt, dass verschiedene unabhängige Bibliotheken erstellt wurden, um die Verwendung von OpenGL®-Text so einfach wie möglich zu gestalten. Es gibt drei grundlegende Methoden zum Erstellen von OpenGL®-Text: Texturzuordnung, Geometrie und Bitmap. Jedes hat Vor- und Nachteile, wobei der größte Nachteil für fast jeden OpenGL®-Text darin besteht, dass die Rendergeschwindigkeit verringert wird.
Es gibt keinen Mechanismus zum Anzeigen von Text in OpenGL®, vor allem, weil die Bibliothek hardwarebeschleunigte 3D-Grafiken bereitstellt. Die Anzeige von Schriftarten oder anderem Text wird nicht als notwendiger Bestandteil der OpenGL®-Funktionsbibliothek angesehen. Stattdessen haben die Entwickler von Software und Betriebssystemen unabhängige Bibliotheken bereitgestellt, um die Verwendung von Text in einer 3D-Umgebung zu vereinfachen.
Die Verwendung von Bitmap-OpenGL®-Text kann auf verschiedene Arten erfolgen, ist jedoch mit Abstand eine der am einfachsten zu implementierenden Methoden. Dieser Vorgang beginnt mit einem einzelnen Bitmap-Bild des gesamten Zeichensatzes, der verwendet werden soll. Wenn ein Wort auf dem Bildschirm angezeigt werden soll, werden die einzelnen Buchstaben aus der Bitmap kopiert und auf einer OpenGL®-Textur angeordnet. Diese Textur, die jetzt eine vollständige Zeichenfolge enthält, wird dann auf ein Viereck abgebildet und vor der Szene platziert, sodass sie den Rest der 3D-Objekte überlagert.
Es ist auch möglich, Geometrie zu verwenden, um OpenGL®-Text tatsächlich zu konstruieren. Dazu wird eine Schriftart verwendet, die zweidimensionale (2D) vektorbasierte Informationen zum Zeichnen der einzelnen Buchstaben enthält. Diese Vektoren werden in Scheitelpunkte und Dreiecke übersetzt, wodurch jeder Buchstabe sein eigenes Modell erhält. Um eine Textfolge mit geometrischen Schriftarten anzuzeigen, müssen die Modelle nur in der richtigen Reihenfolge in der Szene ausgerichtet werden. Ein Vorteil dieser Methode besteht darin, dass die Textmodelle leicht zu blockartigen 3D-Buchstaben extrudiert werden können.
Die letzte gebräuchliche Methode, mit der OpenGL®-Text angezeigt werden kann, ist die Verwendung einer einfachen vorgefertigten Texturabbildung. Dies ist ein Bild, in dem die gewünschte Zeichenfolge bereits so gezeichnet ist, wie sie in der Szene angezeigt werden soll. Das Bild kann dann auf jedes Objekt angewendet werden und zeigt den Text, wenn das Objekt gerendert wird. Texturkarten eignen sich hauptsächlich für statischen Text, z. B. Wörter an der Seite eines 3D-Pappkartonmodells. Dies ist eine der einfachsten Möglichkeiten, Text mit geeignetem Abstand und Kerning anzuzeigen.