220 likes | 452 Views
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.
E N D
Librerías de RecursosAUX 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 rutinasque 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 RecursosAUX 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