Librerías de Recursos AUX y GLUT Rubén de la Peña Ramos Pablo Sánchez Manzano Ana de la Viuda López Informática Gráfica Universidad de Salamanca
Índice Introducción AUX GLUT Ejemplos Conclusiones
Índice Introducción AUX GLUT Ejemplos Conclusiones
Introducción Bibliotecas que complementan OpenGL Las más destacadas: AUX GLUT
Índice Introducción AUX GLUT Ejemplos Conclusiones
AUX Fue creada para facilitar el aprendizaje y escritura de programas en OpenGL Proporciona funciones para: Inicialización Manejo de ventanas Procesado de eventos Objetos predefinidos
AUX: Inicialización no necesita una función específica de inicialización para empezar a funcionar Posee rutinas que definen las características de la ventana en la que se va a trabajar void APIENTRY auxInitDisplayMode(GLenum); void APIENTRY auxInitPosition(int,int,int,int); GLenum APIENTRY auxInitWindow(LPCSTR);
AUX: Manejo de Ventanas Creación. Además de las vistas: HWND APIENTRY auxGetHWND(void); HDC APIENTRY auxGetHDC(void); HGLRC APIENTRY auxGetHGLRC(void); Borrado de la ventana glClearColor() glClear() Carga de Imágenes AUX_RGBImageRec * APIENTRY auxRGBImageLoad(LPCSTR); AUX_RGBImageRec * APIENTRY auxDIBImageLoad(LPCSTR); Cerrado y Destrucción void APIENTRY auxCloseWindow(void); void APIENTRY auxQuit(void);
AUX: Proceso de Eventos Bucle Principal de Visualización void auxMainLoop(void (*displayFunc)(void)); void APIENTRY auxIdleFunc(AUXIDLEPROC); glFlush(); Eventos de Ventana void auxReshapeFunc(void (*function)(GLsizei, GLsizei)); Eventos de Teclado void auxKeyFunc(GLint key, void (*function)(void)); Eventos de Ratón void auxMouseFunc(GLint button, GLint mode, void (*function)(AUX_EVENTREC *));
AUX: Objetos Predefinidos Dos modos: Wire, Solid Sphere Cube Box Torus Cylinder Icosahedron Octahedron Tetrahedron Dodecahedron Cone Teapot
Índice Introducción AUX GLUT Ejemplos Conclusiones
GLUT Biblioteca de recursos posterior a Aux Al igual que Aux, proporciona funciones para: Inicialización Manejo de ventanas Procesado de eventos Objetos predefinidos Añade nuevas prestaciones Mayor portabilidad Menús desplegables Fuentes de texto …
GLUT: Inicialización Necesita función de inicialización glutInit() resto de funciones de inicialización de GLUT glutInitWindowPosition(int x, int **y) glutInitWindowSize(int ancho, int **alto) glutInitDisplayMode(unsigned int mode)
GLUT: Manejo de Ventanas glutCreateWindow glutCreateSubWindow glutSetWindow glutPostRedisplay glutDestroyWindow glutGetWindow glutSetWindowTitle glutSetIconTitle glutPositionWindow glutIconifyWindow glutShowWindow glutHideWindow glutFullScreen
GLUT: Procesado de Eventos void glutDisplayFunc( void (*func) (void)) void glutIdleFunc( void (*func) (void)) void glutReshapeFunc(void (*func) (int width, int height)) void glutMouseFunc( void (*func) (int button, int state, int x, int y)) void glutMotionFunc(void (*func) (int x, int y)) void glutKeyboardFunc(void (*) unsigned char key, int x, int y)
GLUT: Menús int glutCreateMenu(void (*func) (int value) void glutSetMenu(int menu) void glutAddMenuEntry(char *name, int value) Void glutAddSubMenu(char *name, int menu) Void glutChangeToMenuEntry (int entry, char *name, int value) void glutAttachMenu(int button)
GLUT: Manejo de textos Primitivas para el trazado de bitmaps y renderizado de texto en pantalla glutBitmapCharacter(void * font, int character)
GLUT: Objetos Predefinidos No hay novedades respecto a AUX Sólo cambia el nombre de la función: glutWireSphere
Índice Introducción AUX GLUT Ejemplos Conclusiones
Índice Introducción AUX GLUT Ejemplos Conclusiones
Conclusiones Comparativa Es preferible la utilización de Glut
Librerías de Recursos AUX y GLUT Rubén de la Peña Ramos Pablo Sánchez Manzano Ana de la Viuda López Informática Gráfica Universidad de Salamanca