La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "TEXTO EN OPENGL INTEGRANTES: ACEVEDO DÍAZ ELOISA ALCALA CAMARGO RODRIGO RAMOS GALICIA JUAN CHRISTIAN ROLDÁN SERRATO KAREN LUCERO COMPUTACIÓN GRÁFICA."— 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_1 0, 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 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 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 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); } Dibujar texto vertical

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

15 Pixel por Pixel 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); EJEMPLOS

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 ALCALA CAMARGO RODRIGO RAMOS GALICIA JUAN CHRISTIAN ROLDÁN SERRATO KAREN LUCERO COMPUTACIÓN GRÁFICA."

Presentaciones similares


Anuncios Google