COMPUTACIN GRFICA TEXTOENOPENGL Integrantes Montes Hirata Daniel Yoshiro

  • Slides: 12
Download presentation
COMPUTACIÓN GRÁFICA TEXTOENOPENGL Integrantes: Montes Hirata Daniel Yoshiro Olvera Oliva Yosimar

COMPUTACIÓN GRÁFICA TEXTOENOPENGL Integrantes: Montes Hirata Daniel Yoshiro Olvera Oliva Yosimar

¿Cómo se dibuja texto con GLUT? • El manejo de fuentes de texto es

¿Cómo se dibuja texto con GLUT? • El manejo de fuentes de texto es una de las partes débiles de Open. GL. Su implementación es complicada ya que la biblioteca GL sólo só proporciona funciones muy primitivas para p trazado de bitmaps que obligan a disponer de una librería propia de bitmaps caracteres.

Funciones • GLUT resuelve un poco el dilema de usar texto en. Open. GL.

Funciones • GLUT resuelve un poco el dilema de usar texto en. Open. GL. glut. Bitmap. Character que traza un único carácter en la posición especificada por gl. Raster. Pos draw. String() y draw. String. Big() que facilitan el texto en Open. GL al trazar cadenas de caracteres.

Bitmap font • Qué es una Bitmap font. ? Una Bitmap Font, o fuente

Bitmap font • Qué es una Bitmap font. ? Una Bitmap Font, o fuente Bitmap es una fuente como las del Word ( "Times New Roman", . . . ), es decir, un juego de caracteres en que cada carácter solo es un trazo de un color. Esto en cuanto a Windows.

 • glut. Bitmap. Character(*font vacío, carácter interno); Traza un único carácter en la

• glut. Bitmap. Character(*font vacío, carácter interno); Traza un único carácter en la posición especificada. Es decir, glut. Bitmap. Character(GLUT_BITMAP_HELVETICA_1 0, s[i]); //tipo de letra y texto a mostrar glut. Stroke. Character(*font vacío, carácter interno);

Bitmap font • • • Una fuente de mapa de bits es básicamente un

Bitmap font • • • Una fuente de mapa de bits es básicamente un tipo de letra en 2 D - No espesor - no se pueden rotar - Solo se trasladan glut. Bitmap. Character()

Sintaxis • void glut. Bitmap. Character(void *font, int character) Parameters: font - el nombre

Sintaxis • void glut. Bitmap. Character(void *font, int character) Parameters: font - el nombre de la fuente a utilizar character - una letra, símbolo, el número, etc

 • Llamada a la función glut. Bitmap. Character con salida a un único

• Llamada a la función glut. Bitmap. Character con salida a un único carácter en la posición actual: glut. Bitmap. Character(GLUT_HELVETICA_18, '3'); La posición se puede establecer con la función gl. Raster. Pos void gl. Raster. Pos 2 f(float x, float y); void gl. Raster. Pos 3 f(float x, float y, float z); void gl. Raster. Pos 2 f(float x, float y); Parámetros: x, y, z - coordenadas locales para que aparezca el texto

 • La siguiente función hace una cadena a partir de la posición especificada

• La siguiente función hace una cadena a partir de la posición especificada de trama void render. Bitmap. String( float x, float y, float z, void *font, char *string) { char *c; gl. Raster. Pos 3 f(x, y, z); for (c=string; *c != ''; c++) { glut. Bitmap. Character(font, *c); } }

Función que devuelve el ancho de un carácter. int glut. Bitmap. Width(void *font, int

Función que devuelve el ancho de un carácter. int glut. Bitmap. Width(void *font, int character); Parametros: font – una de las Fuentes predefinidas en GLUT character – el carácter del cual deseamos saber el ancho

 • • Las opciones disponibles para la fuente son: GLUT_BITMAP_8_BY_13 GLUT_BITMAP_9_BY_15 GLUT_BITMAP_TIMES_ROMAN_10 GLUT_BITMAP_TIMES_ROMAN_24

• • Las opciones disponibles para la fuente son: 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

 • • • Escribe una cadena con una cierta cantidad de píxeles entre

• • • Escribe una cadena con una cierta cantidad de píxeles entre cada carácter void render. Spaced. Bitmap. String( float x, float y, int spacing, void *font, char *string) { char *c; int x 1=x; for (c=string; *c != ''; c++) { gl. Raster. Pos 2 f(x 1, y); glut. Bitmap. Character(font, *c); x 1 = x 1 + glut. Bitmap. Width(font, *c) + spacing; } }