Necesito imprimir 3 líneas de texto en una ventana como un menú.¿Cuál es la forma más fácil de imprimir texto en pantalla en OpenGL?
1 - Menu
2 - Pause
3 - Exit
Necesito imprimir 3 líneas de texto en una ventana como un menú.¿Cuál es la forma más fácil de imprimir texto en pantalla en OpenGL?
1 - Menu
2 - Pause
3 - Exit
This webpage esboza las tres formas posibles, y enlaces a bibliotecas útiles que ayudan.
No hay una forma incorporada simple de presentar texto, y hay (como se detalla en esa página) varios enfoques posibles, todo es una compensación dependiendo de qué propiedades requiera de su representación de texto.
Teniendo en cuenta que usaste GLUT en las preguntas anteriores, lo más fácil sería utilizar las funciones de renderizado de fuente incorporadas de GLUT.
Ejemplo:
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]);
}
}
Cuando la fuente es una de las constantes de fuente GLUT:
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
¿Podemos renderizar el texto sin usar GLUT? ¿Cuáles son las formas posibles? – Wolverine
A sólo para Windows, pero se describe aquí método simple: Nehe Lesson 13
Básicamente, utiliza estos tres funciones:
wglUseFontBitmaps
glListBase
glCallLists
Hasta este post porque me encontré con una muy buena herramienta para hacer de alta calidad de texto 2D:
ver muestra de renderizado:
En la parte superior de 3D: http://stackoverflow.com/questions/18847109/displaying-fixed-location-2d-text-in-a-3d-opengl-world-using-glut Sin ninguna biblioteca además de OpenGL: http : //stackoverflow.com/questions/8847899/opengl-how-to-draw-text-using-only-opengl-methods –