¿Cómo se dibuja una cadena de texto en la pantalla usando las funciones de dibujo GLUT/OpenGL?¿Cómo dibujo texto con GLUT/OpenGL en C++?
Respuesta
Hay dos maneras de dibujar cadenas con GLUT
glutStrokeString dibujará texto en 3D
alt text http://local.wasp.uwa.edu.au/~pbourke/oldstuff/glut/opengl4.gif
y glutBitmapString dibujarán texto frente el usuario
En general es un poco desagradable y no directo. Dar a esta herramienta una oportunidad:
void RenderString(float x, float y, void *font, const char* string, RGB const& rgb)
{
char *c;
glColor3f(rgb.r, rgb.g, rgb.b);
glRasterPos2f(x, y);
glutBitmapString(font, string);
}
Y se le puede llamar como;
RenderString(0.0f, 0.0f, GLUT_BITMAP_TIMES_ROMAN_24, "Hello", RGB(1.0f, 0.0f, 0.0f));
del rompecabezas: 'glutBitmapString' no fue declarado en este alcance –
error: solicitud del miembro 'r' en 'rgb', que es de tipo no de clase 'const int' –
Si no te gusta la fuente incorporada accidente cerebrovascular o fuente bitmap que viene con GLUT según epatel's answer, que tendrá que rodar su propia solución.
NeHe tiene algunos buenos tutoriales (junto con completamente funcional código de ejemplo) en este:
- 1. texto Dibujo con el contorno en Java
- 2. Dibujo texto girado con NSString drawInRect
- 3. ¿Cómo dibujo texto usando OpenGL, SDL y C++?
- 4. C# Dibujo en Paneles
- 5. Dibujo de video con texto en la parte superior
- 6. ¿Cómo dibujo gráficos simples en C#?
- 7. Dibujo en C# mapa de bits con C++
- 8. Qt/C++: dibujo eficientemente
- 9. ¿Cómo dibujo texto en un sprite de ActionScript 3?
- 10. dibujo de texto dentro de un JPanel
- 11. Dibujo interactivo con kineticjs
- 12. Dibujo con .NET
- 13. ¿Cómo obtengo las coordenadas con el dibujo?
- 14. Python con matplotlib - reutilizando funciones de dibujo
- 15. ¿Cómo dibujo líneas usando XNA?
- 16. Texto con degradado en Android
- 17. ¿Cómo se procesa el texto en C (Android)?
- 18. dibujo en iphone
- 19. Biblioteca de dibujo fácil de usar en c/C++?
- 20. ¿Cartogramas de dibujo con Matplotlib?
- 21. Problemas de dibujo con CALayer
- 22. Rectángulo de dibujo con XNA
- 23. Dibujo multiproceso en .NET?
- 24. Dibujo con varios colores en lienzo
- 25. Biblioteca de dibujo multiplataforma
- 26. Buscar texto en una cadena con C#
- 27. Justificación de texto con DrawString en C#
- 28. Python GUI con renderizado/dibujo personalizado
- 29. Cálculo de envoltura de texto en .NET DrawingContext Método de dibujo de texto
- 30. Dibujo en MKOverlay personalizado
Tenga en cuenta que necesitará [freeglut] [1], a diferencia del exceso, para usar glutBitmapString. [1]: http://freeglut.sourceforge.net/ – andrewrk
Sé que es una vieja pregunta, tengo glut.h, justo cuando trato de usar cualquiera de los métodos, dirá el identificador "glutBitmapString" o " glutStrokeString "no está definido ninguna idea? – Jonathan
@Jonathan superjoe30 tiene razón. glutBitmapString y glutStrokeString no están en la implementación original de GLUT. Pero, si quieres usar GLUT, te sugiero que estudies el uso de freeglut o openglut, que ambos tienen. Si recuerdo correctamente, la implementación original de GLUT no se ha actualizado desde 1998 debido a su esquema de licencias, por lo que se inició freeglut y openglut para resolver ese problema y agregar nuevas características, etc. Consulte http://freeglut.sourceforge.net/ – epatel