Wat is OpenGL®-tekst?
OpenGL®-tekst beschrijft elk computerlettertype dat, via een aantal verschillende methoden, als een element binnen een OpenGL®-scène verschijnt. Er is geen aangeboren mogelijkheid voor OpenGL® om tekst weer te geven in een driedimensionale (3D) scène, en er zijn echt geen intrinsieke manieren om systeemtekst in een framebuffer te bedekken. Dit heeft geleid tot de oprichting van verschillende onafhankelijke bibliotheken om het gebruik van OpenGL®-tekst zo gemakkelijk mogelijk te maken. Er zijn drie basismethoden voor het maken van OpenGL®-tekst: textuurtoewijzing, geometrie en bitmap. Elk heeft voor- en nadelen, waarbij het grootste nadeel voor bijna alle OpenGL®-tekst een vermindering van de renderingsnelheid is.
Er is geen mechanisme voor het weergeven van tekst in OpenGL®, vooral omdat de bibliotheek bedoeld is om hardwareversnelde 3D-graphics te bieden. De weergave van lettertypen of andere tekst wordt niet beschouwd als een noodzakelijk onderdeel van de OpenGL®-functiesbibliotheek. In plaats daarvan hebben de ontwikkelaars van software en besturingssystemen onafhankelijke bibliotheken aangeboden in een poging om het gemakkelijker te maken om tekst in een 3D-omgeving te gebruiken.
Het gebruik van bitmap OpenGL®-tekst kan op een paar manieren worden gedaan, maar het is verreweg een van de eenvoudigste methoden om te implementeren. Dit proces begint met een enkele bitmapafbeelding van de volledige lettertypeset die zal worden gebruikt. Wanneer een woord op het scherm moet worden weergegeven, worden de afzonderlijke letters uit de bitmap gekopieerd en in een OpenGL®-structuur gerangschikt. Deze textuur, die nu een complete string bevat, wordt vervolgens op een vierhoek in kaart gebracht en voor de scène geplaatst zodat deze over de rest van de 3D-objecten ligt.
Het is ook mogelijk om geometrie te gebruiken om daadwerkelijk OpenGL®-tekst te construeren. Dit houdt in dat een lettertype wordt gebruikt met tweedimensionale (2D) vectorgebaseerde informatie over het tekenen van elke letter. Deze vectoren worden vertaald in hoekpunten en driehoeken, waardoor elke letter zijn eigen model krijgt. Om een reeks tekst met geometrische lettertypen weer te geven, moeten de modellen alleen in de juiste volgorde in de scène worden opgesteld. Een voordeel van deze methode is dat de tekstmodellen eenvoudig kunnen worden geëxtrudeerd om blokachtige 3D-letters te vormen.
De laatste algemene methode die kan worden gebruikt om OpenGL®-tekst weer te geven, is het gebruik van een eenvoudige, vooraf gemaakte structuurkaart. Dit is een afbeelding waarin de gewenste tekenreeks al is getekend zoals deze in de scène zou moeten verschijnen. De afbeelding kan vervolgens worden toegepast op elk object en de tekst weergeven wanneer het object wordt weergegeven. Structuurkaarten zijn meestal effectief voor statische tekst, zoals woorden aan de zijkant van een 3D-kartonnen doos. Het is een van de eenvoudigste manieren om tekst weer te geven met de juiste tussenruimte en kerning.