Frage

Ich Schreibe eine einfache OpenGL Anwendung GLUT.Ich will nicht zu Rollen, meine eigene font-rendering-code, stattdessen möchte ich die einfache bitmap-Schriften, die im Lieferumfang GLUT.Was sind die Schritte zu bekommen, wie Sie arbeiten?

War es hilfreich?

Lösung

Einfache text-Anzeige ist einfach zu tun in OpenGL mit GLUT-bitmap-fonts.Dies sind einfache 2D-Schriftarten und nicht geeignet für die Anzeige innen Ihre 3D-Umgebung.Jedoch, Sie sind der perfekte text, die Bedürfnisse zu werden überlagert auf dem display-Fenster.

Hier sind die beispielschritte zur Anzeige von Eric Cartman ' s favorite quote grün auf einem GLUT-Fenster:

Wir werden die Einstellung der raster-position in Bildschirmkoordinaten.So, setup, das Projektions-und modelview-Matrizen für 2D-rendering:

glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0.0, WIN_WIDTH, 0.0, WIN_HEIGHT);

glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();

Die schriftart-Farbe.(Setzen Sie diese jetzt, nicht später.)

glColor3f(0.0, 1.0, 0.0); // Green

Das Fenster Stelle, wo der text angezeigt werden soll.Dies wird durch die Einstellung der raster-position in Bildschirmkoordinaten.In der linken unteren Ecke des Fensters ist (0, 0).

glRasterPos2i(10, 10);

Legen Sie die schriftart und Anzeige der string-Zeichen verwenden 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);
}

Wiederherstellen der Matrizen.

glMatrixMode(GL_MODELVIEW);
glPopMatrix();

glMatrixMode(GL_PROJECTION);
glPopMatrix();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top