Pregunta

Estoy escribiendo un sencillo OpenGL aplicación que utiliza GLUT.No quiero implementar mi propio código de representación de fuentes, sino que quiero usar las fuentes de mapa de bits simples que se incluyen con GLUT.¿Cuáles son los pasos para que funcionen?

¿Fue útil?

Solución

La visualización de texto simple es fácil de hacer en OpenGL usando fuentes de mapa de bits GLUT.Estas son fuentes 2D simples y son no adecuado para exhibición adentro su entorno 3D.Sin embargo, son perfectos para texto que debe superponerse en la ventana de visualización.

Estos son los pasos de muestra para mostrar la cita favorita de Eric Cartman coloreada en verde en una ventana GLUT:

Estableceremos la posición del ráster en las coordenadas de la pantalla.Entonces, configure las matrices de proyección y vista de modelo para renderizado 2D:

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

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

Establece el color de la fuente.(Establezca esto ahora, no más tarde).

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

Establezca la ubicación de la ventana donde se debe mostrar el texto.Esto se hace estableciendo la posición del ráster en las coordenadas de la pantalla.La esquina inferior izquierda de la ventana es (0, 0).

glRasterPos2i(10, 10);

Configure la fuente y muestre los caracteres de cadena usando glutBitmapCarácter.

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);
}

Restaurar las matrices.

glMatrixMode(GL_MODELVIEW);
glPopMatrix();

glMatrixMode(GL_PROJECTION);
glPopMatrix();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top