Utilisation des polices GLUT bitmap
j'écris un simple OpenGL
application qui utilise GLUT
. Je ne veux pas lancer mon propre code de rendu de police, mais je veux utiliser les polices bitmap simples que le navire avec GLUT
. Quelles sont les étapes pour faire leur travail?
1 réponses
l'affichage de texte Simple est facile à faire dans OpenGL en utilisant des polices de caractères Bitmap GLUT. Ce sont des polices 2D simples et sont convenant à l'affichage à l'intérieur votre environnement 3D. Cependant, ils sont parfaits pour le texte qui doit être superposée sur la fenêtre d'affichage.
Voici les étapes pour afficher la citation préférée d'Eric Cartman colorée en vert sur une fenêtre de surimpression:
nous allons régler la position de la trame en coordonnées d'écran. Ainsi, le programme d'installation de la matrices de projection et modelview pour le rendu 2D:
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0.0, WIN_WIDTH, 0.0, WIN_HEIGHT);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
Définir la couleur de police. (Réglez cela maintenant, pas plus tard.)
glColor3f(0.0, 1.0, 0.0); // Green
définir l'emplacement de la fenêtre où le texte doit être affiché. Pour ce faire, il suffit de régler la position de la trame dans les coordonnées de l'écran. Coin inférieur gauche de la fenêtre est (0, 0).
glRasterPos2i(10, 10);
définissez la police et affichez les caractères de chaîne en utilisant glutBitmapCharacter.
string s = "Respect mah authoritah!";
void * font = GLUT_BITMAP_9_BY_15;
for (string::iterator i = s.begin(); i != s.end(); ++i)
{
char c = *i;
glutBitmapCharacter(font, c);
}
Restaurer la matrice.
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();