Come si disegna una stringa di testo sullo schermo utilizzando le funzioni di disegno GLUT/OpenGL?Come disegno un testo con GLUT/OpenGL in C++?
risposta
Ci sono due modi per disegnare stringhe con GLUT
glutStrokeString trarrà testo in 3D
alt text http://local.wasp.uwa.edu.au/~pbourke/oldstuff/glut/opengl4.gif
e glutBitmapString disegneranno testo fronte l'utente
In genere è un po 'sgradevole e non semplice. Dare a questo strumento una prova:
void RenderString(float x, float y, void *font, const char* string, RGB const& rgb)
{
char *c;
glColor3f(rgb.r, rgb.g, rgb.b);
glRasterPos2f(x, y);
glutBitmapString(font, string);
}
E si può chiamare come;
RenderString(0.0f, 0.0f, GLUT_BITMAP_TIMES_ROMAN_24, "Hello", RGB(1.0f, 0.0f, 0.0f));
: 'glutBitmapString' non è stato dichiarato in questo ambito Errore –
: richiesta per membro 'r' in 'rgb', che è di tipo non di classe 'const int' –
Se non ti piace il built-in carattere ictus o carattere bitmap che viene fornito con GLUT come da epatel's answer, dovrete rotolare la vostra soluzione.
NeHe ha alcuni buoni tutorial (insieme con pienamente funzionante codice di esempio) su questo:
Si prega di notare che è necessario [freeglut] [1], al contrario di glut, per usare glutBitmapString. [1]: http://freeglut.sourceforge.net/ – andrewrk
So che è una vecchia domanda, ho glut.h. Proprio quando provo ad usare uno dei due metodi, l'identificatore "glutBitmapString" o " glutStrokeString "non sono definite idee? – Jonathan
@Jonathan superjoe30 ha ragione. glutBitmapString e glutStrokeString non sono nell'implementazione originale di GLUT. Ma, se si desidera utilizzare GLUT, suggerirei di utilizzare o freeglut o openglut che entrambi hanno. Se ricordo correttamente, l'implementazione GLUT originale non è stata aggiornata dal 1998 a causa del suo schema di licenza, quindi è stato avviato freeglut e openglut per risolvere questo problema e aggiungere nuove funzionalità ecc. Vedi http://freeglut.sourceforge.net/ – epatel