Vad är OpenGL® Text?

OpenGL®-text beskriver alla datorteckensnitt som, genom ett antal olika metoder, visas som ett element i en OpenGL®-scen. Det finns ingen medfödd förmåga för OpenGL® att visa text inuti en tredimensionell (3D) scen, och det finns egentligen inga inneboende sätt att lägga över systemtext i en rambuffert. Detta har lett till skapandet av olika oberoende bibliotek för att försöka göra det så enkelt som möjligt att använda OpenGL®-text. Det finns tre grundläggande metoder för att skapa OpenGL®-text: texturmappning, geometri och bitmapp. Var och en har fördelar och nackdelar, med den största nackdelen för nästan all OpenGL®-text är en minskning av renderingshastigheten.

Det finns ingen mekanism för att visa text i OpenGL®, främst för att syftet med biblioteket är att tillhandahålla hårdvaruaccelererad 3D-grafik. Visning av teckensnitt eller annan text anses inte vara en nödvändig del av OpenGL®-funktionsbiblioteket. Istället har utvecklarna av mjukvara och operativsystem tillhandahållit oberoende bibliotek i ett försök att göra det lättare att använda text i en 3D-miljö.

Att använda bitmapp OpenGL®-text kan göras på några sätt, men det är i särklass en av de enklaste metoderna att implementera. Denna process börjar med en enda bitmappsbild av hela teckensnittsuppsättningen som kommer att användas. När ett ord behöver visas på skärmen, kopieras de enskilda bokstäverna från bitmappen och ordnas på en OpenGL®-struktur. Denna textur, som nu innehåller en komplett sträng, mappas sedan på en fyrhörning och placeras framför scenen så att den överlagrar resten av 3D-objekten.

Det är också möjligt att använda geometri för att faktiskt konstruera OpenGL®-text. Detta innebär att man använder ett teckensnitt som har tvådimensionell (2D) vektorbaserad information om hur man ritar varje bokstav. Dessa vektorer översätts till hörn och trianglar, vilket gör varje bokstav till sin egen modell. För att visa en textsträng med geometriska typsnitt behöver modellerna bara vara uppradade i rätt ordning i scenen. En fördel med denna metod är att textmodellerna lätt kan extruderas till blockliknande 3D-bokstäver.

Den sista vanliga metoden som kan användas för att visa OpenGL®-text är att använda en enkel förgjord texturkarta. Detta är en bild där den önskade textsträngen redan är ritad på det sätt som den ska se ut i scenen. Bilden kan sedan appliceras på vilket objekt som helst och visar texten när objektet renderas. Texturkartor är mestadels effektiva för statisk text, till exempel ord på sidan av en 3D-kartongmodell. Det är ett av de enklaste sätten att visa text som har rätt mellanrum och kerning.