Ich muss 3 Zeilen Text in einem Fenster als Menü drucken.Was ist der einfachste Weg, um Text in OpenGL zu drucken?
1 - Menu
2 - Pause
3 - Exit
Ich muss 3 Zeilen Text in einem Fenster als Menü drucken.Was ist der einfachste Weg, um Text in OpenGL zu drucken?
1 - Menu
2 - Pause
3 - Exit
This webpage umreißt die drei Möglichkeiten und Links zu praktisch Bibliotheken, die helfen.
Es gibt keine einfache eingebaute Möglichkeit, Text zu rendern, und es gibt (wie auf dieser Seite beschrieben) mehrere mögliche Ansätze, je nachdem, welche Eigenschaften Sie von Ihrem Text-Rendering benötigen.
In Anbetracht der Tatsache, dass Sie GLUT in früheren Fragen verwendet haben, wäre es am einfachsten, GLUTs eingebaute Font-Rendering-Funktionen zu verwenden.
Beispiel:
void output(int x, int y, float r, float g, float b, int font, char *string)
{
glColor3f(r, g, b);
glRasterPos2f(x, y);
int len, i;
len = (int)strlen(string);
for (i = 0; i < len; i++) {
glutBitmapCharacter(font, string[i]);
}
}
Wo Schrift eine der GLUT Schriftart Konstanten ist:
GLUT_BITMAP_8_BY_13
GLUT_BITMAP_9_BY_15
GLUT_BITMAP_TIMES_ROMAN_10
GLUT_BITMAP_TIMES_ROMAN_24
GLUT_BITMAP_HELVETICA_10
GLUT_BITMAP_HELVETICA_12
GLUT_BITMAP_HELVETICA_18
Können wir den Text ohne Verwendung von GLUT rendern? Was sind die möglichen Wege? – Wolverine
Ein Windows-only, aber einfache Methode, die hier beschrieben wird: Nehe Lesson 13
Grundsätzlich nutzt diese drei Funktionen:
wglUseFontBitmaps
glListBase
glCallLists
Bis diesen Beitrag, weil ich ein wirklich großes Werkzeug zu machen, qualitativ hochwertige 2D-Text gefunden:
Rendering siehe Beispiel:
Oben auf 3D: http://stackoverflow.com/questions/18847109/displaying-fixed-location-2d-text-in-a-3d-opengl-world-using-glut Ohne jede Bibliothek neben OpenGL: http : //stackoverflow.com/questions/8847899/opengl-how-to-draw-text-using-only-opengl-methods –