La scrittura del testo in OpenGL

June 24

La scrittura del testo in OpenGL


texture mapping viene utilizzato per scrivere il testo in OpenGL. Una semplice interfaccia di programmazione dell'applicazione è il codice sorgente che viene utilizzato in OpenGL per scrivere il testo. Una volta che l'interfaccia di programmazione applicazione è scritta, un file di font tessuto che termina in .txf è caricato a OpenGL. Viene quindi creato il testo. OpenGL è in genere utilizzato per disegnare immagini in 3D, ma anche utilizzato per creare il testo in 2D, a volte.

piattaforme

OpenGL funziona su una miriade di piattaforme, ed è supportato su ogni stazione di lavoro UNIX. Inoltre è dotato di serie con Windows 95, 98, 2000 e NT, oltre che su un MacOS. OpenGL funziona su sistemi operativi, tra cui OS / 2, Linux, OpenStep e BeOS. OpenGL funziona anche con Win32, Presentation Manager, System X-Window e MacOS.

Texture Font File

Il file di font consistenza dovrebbe essere simile a questo:
TexFont * TXF;
TXF = txfLoadFont ( "rockfont.txf");
if (TXF == null) {
fprintf (stderr, "Problema di carico% s,% s \ n",

filename, txfErrorString());

exit (1);
}
Questo codice include l'immagine di texture più le coordinate necessarie per i glifi che sono contenuti all'interno dell'immagine. Un glifo è una struttura che, in questo caso, sarà strutturando testo.

stabilire Texture

Dopo il file di font trama è scritto, stabilire la trama per il carattere. Il codice dovrebbe essere la seguente:
txfEstablishTexture (TXF, 0, GL_TRUE);

Preparazione OpenGL

Al fine di rendere eventualmente con testo strutturato, scrivere il seguente codice:
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);
Questo codice permette di texture mapping 2D e si fonde anche i bordi per le prestazioni.

Dimensione del testo

Scalare il testo per adattare la zona predeterminata scrivendo codice che dice OpenGL per quanto tempo è necessaria una stringa di testo. Il codice simile a questo, anche se con modifiche a seconda della lunghezza desiderata:
int width, salita, discesa;
text = "OpenGL";
txfGetStringMetrics (TXF, testo, strlen (testo),

&width, &ascent, &descent);

Aggiungere il codice che dice OpenGL la larghezza del testo dovrebbe essere:
glMatrixMode (GL_MODELVIEW);
glTranslatef (-2.5, 0.0, 0.0);
glScalef (5.0 / larghezza, 5.0 / larghezza, 5.0 / larghezza);

Finalizzazione

Inserire il codice riportato di seguito per completare il progetto:
txfRenderString (TXF, "OpenGL", strlen ( "OpenGL");