Skrive tekst i OpenGL

Skrive tekst i OpenGL


Teksturtilordning utnyttes for å skrive tekst i OpenGL. Et enkelt programmeringsgrensesnitt er kildekoden som brukes i OpenGL til å skrive tekst. Når søknaden programming interface er skrevet, er en tekstur font fil som slutter på .txf lastet til OpenGL. Teksten blir da opprettet. OpenGL brukes vanligvis for å tegne 3D-bilder, men også brukes til å lage 2D tekst til tider.

plattformer

OpenGL fungerer på en rekke plattformer, og er støttet på alle UNIX-arbeidsstasjon. Det kommer også standard med Windows 95, 98, 2000 og NT, samt på en MacOS. OpenGL fungerer på operativsystemer, inkludert OS / 2, Linux, Openstep og BeOS. OpenGL fungerer også med Win32, Presentasjon Manager X-Window System og MacOS.

Texture Font File

Teksturen skriften filen skal se slik ut:
TexFont * TXF;
TXF = txfLoadFont ( "rockfont.txf");
if (TXF == NULL) {
fprintf (stderr, "Problem loading% s,% s \ n",

filename, txfErrorString());

exit (1);
}
Denne koden inneholder tekstur bilde pluss koordinatene som trengs for tegnvariantene som finnes i bildet. En tegnvariant er en struktur som, i dette tilfellet vil bli strukturere tekst.

Etablering Texture

Etter tekstur skriftfilen er skrevet, etablere struktur for skriften. Koden skal være som følger:
txfEstablishTexture (TXF, 0, GL_TRUE);

forbereder OpenGL

For til slutt å gjengi med strukturert tekst, skrive inn følgende kode:
glenable (GL_TEXTURE_2D);
glAlphaFunc (GL_GEQUAL, 0,0625);
glenable (GL_ALPHA_TEST);
glenable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glenable (GL_POLYGON_OFFSET);
glPolygonOffset (0,0, -3);
Denne koden gjør for 2D teksturtilordning og også blander kantene for ytelse.

tekst~~POS=TRUNC

Skalere teksten slik at den passer den forhåndsbestemte område ved å skrive kode som forteller OpenGL hvor lenge en tekststreng er nødvendig. Koden ser slik ut, men med tilpasninger avhengig av ønsket lengde:
int bredde, oppstigning, nedstigning;
text = "OpenGL";
txfGetStringMetrics (TXF, tekst, strlen (tekst),

&width, &ascent, &descent);

Legg kode som forteller OpenGL hvor bred teksten skal være:
glMatrixMode (GL_MODELVIEW);
glTranslatef (-2,5, 0,0, 0,0);
glScalef (5.0 / bredde, 5,0 / bredde, 5,0 / bredde);

Fullfører

Skriv inn følgende kode for å gjøre ferdig prosjektet:
txfRenderString (TXF, "OpenGL", strlen ( "OpenGL");