Pregunta

Estoy intentando dibujar texto a la pantalla utilizando GLUT en 2d.

Quiero usar glutBitmapString (), alguien me puede mostrar un ejemplo sencillo de lo que tiene que hacer para configurar y utilizar correctamente este método en C ++ para que pueda dibujar una cadena arbitraria a una (X, Y) Posición

glutBitmapString(void *font, const unsigned char *string); 

Estoy usando Linux, y sé que necesito para crear un objeto de fuente, aunque no estoy seguro exactamente cómo y yo puede suministrar con la cadena como el segundo argumento. Sin embargo, ¿cómo puedo también especificar la posición x / y?

Un ejemplo rápido de esto me sería de gran ayuda. Si usted me puede mostrar a partir de la creación de la fuente, al llamar al método que sería lo mejor.

¿Fue útil?

Solución

Usted tiene que usar glRasterPos para fijar la posición de la trama antes de llamar glutBitmapString(). Tenga en cuenta que cada llamada a glutBitmapString() avanza la posición de la trama, por lo que varias llamadas consecutivas se imprimirán las cuerdas, uno tras otro. También puede establecer el color del texto mediante el uso de glColor() . El conjunto de fuentes disponibles se enumeran aquí .

// Draw blue text at screen coordinates (100, 120), where (0, 0) is the top-left of the
// screen in an 18-point Helvetica font
glRasterPos2i(100, 120);
glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
glutBitmapString(GLUT_BITMAP_HELVETICA_18, "text to render");

Otros consejos

Añadir a la respuesta de Adán,

glColor4f(0.0f, 0.0f, 1.0f, 1.0f);  //RGBA values of text color
glRasterPos2i(100, 120);            //Top left corner of text
const unsigned char* t = reinterpret_cast<const unsigned char *>("text to render");
// Since 2nd argument of glutBitmapString must be const unsigned char*
glutBitmapString(GLUT_BITMAP_HELVETICA_18,t);

https://www.opengl.org/resources /libraries/glut/spec3/node76.html para más opciones de fuente

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top