La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TEXTO EN OPENGL INTEGRANTES: ACEVEDO DÍAZ ELOISA

Presentaciones similares


Presentación del tema: "TEXTO EN OPENGL INTEGRANTES: ACEVEDO DÍAZ ELOISA"— Transcripción de la presentación:

1 TEXTO EN OPENGL INTEGRANTES: ACEVEDO DÍAZ ELOISA
ALCALA CAMARGO RODRIGO RAMOS GALICIA JUAN CHRISTIAN ROLDÁN SERRATO KAREN LUCERO COMPUTACIÓN GRÁFICA

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

3 DEFINICIÓN DE FUNCIONES
GLUT resuelve un poco el dilema de usar texto en OpenGL. glutBitmapCharacter que traza un único carácter en la posiciçón especificada por glRasterPos drawString() y drawStringBig() que facilitan el texto en OpenGL al trazar cadenas de caracteres.

4 más definiciones 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.

5 SINTAXIS void glRasterPos{234}{sifd}(TYPE x, TYPE y, TYPE z, TYPE w);
glutBitmapCharacter(*font vacío, carácter interno); Traza un único carácter en la posición especificada. Es decir, glutBitmapCharacter(GLUT_BITMAP_HELVETICA_10, s[i]); //tipo de letra y texto a mostrar glutStrokeCharacter(*font vacío, carácter interno); Rinde un carácter del movimiento que usa OpenGL.

6 Bitmap Fonts Una fuente de mapa de bits es básicamente un tipo de letra en 2D No espesor no se pueden rotar Solo se trasladan glutBitmapCharacter()

7 La sintaxis es la siguiente:
void glutBitmapCharacter(void *font, int character) Parameters: font - el nombre de la fuente a utilizar character - una letra, símbolo, el número, etc

8 glutBitmapCharacter(GLUT_HELVETICA_18,'3');
Llamada a la función glutBitmapCharacter con salida a un único carácter en la posición actual: glutBitmapCharacter(GLUT_HELVETICA_18,'3'); La posición se puede establecer con la función glRasterPos void glRasterPos2f(float x, float y); void glRasterPos3f(float x, float y, float z); void glRasterPos2f(float x, float y); Parámetros: x, y, z - coordenadas locales para que aparezca el texto

9 La siguiente función hace una cadena a partir de la posición especificada de trama
void renderBitmapString( float x, float y, float z, void *font, char *string) { char *c; glRasterPos3f(x, y,z); for (c=string; *c != '\0'; c++) { glutBitmapCharacter(font, *c); }

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

11 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

12 Escribe una cadena con una cierta cantidad de píxeles entre cada carácter
void renderSpacedBitmapString( float x, float y, int spacing, void *font, char *string) { char *c; int x1=x; for (c=string; *c != '\0'; c++) { glRasterPos2f(x1,y); glutBitmapCharacter(font, *c); x1 = x1 + glutBitmapWidth(font,*c) + spacing; }

13 Dibujar texto vertical
void renderVerticalBitmapString(float x, float y, int bitmapHeight, void *font, char *string){ char *c; int i; for (c=string,i=0; *c != '\0'; i++,c++) { glRasterPos2f(x, y+bitmapHeight*i) glutBitmapCharacter(font, *c); }

14 EJEMPLOS Hay muchas formas de hacer texto. Repasando 2 maneras
1)Pixel por Pixel 2) Con funciones definidad

15 Pixel por Pixel EJEMPLOS
GLubyte rasters[24] = {0xc0, 0x00, 0xc0, 0x00, x00, 0xff, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xff, 0xc0, 0xff, 0xc0…}; glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);

16 Pixel por Pixel

17 FUNCIONES LETREROS

18 APLICACIONES FUNCIONES
Matemática y tabulares

19 FUNCIONES GRAFICAS CON DATOS


Descargar ppt "TEXTO EN OPENGL INTEGRANTES: ACEVEDO DÍAZ ELOISA"

Presentaciones similares


Anuncios Google