Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
fw:ogl:xtra2 [2009/11/12 16:30] alfred |
fw:ogl:xtra2 [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 5: | Línea 5: | ||
| ===== GLUT ===== | ===== GLUT ===== | ||
| GLUT (openGL Utility Toolkit) es una librería para escribir programas con interface gráfica OpenGL de forma fácil, por lo que da la posibilidad de aprender a programar con OpenGL de una forma muy sencilla | GLUT (openGL Utility Toolkit) es una librería para escribir programas con interface gráfica OpenGL de forma fácil, por lo que da la posibilidad de aprender a programar con OpenGL de una forma muy sencilla | ||
| + | |||
| Línea 11: | Línea 12: | ||
| ==== Instalación y uso ==== | ==== Instalación y uso ==== | ||
| === En Linux === | === En Linux === | ||
| + | Podremos instalar el paquete ''freeglut'', luego para compilar utilizaremos la siguiente línea: | ||
| + | <code> | ||
| + | $ g++ -Wall -o "%e" "%f" -I/usr/include/ImageMagick/ -lglut -lGL -lGLU -lMagick++ | ||
| + | </code> | ||
| === En Windows === | === En Windows === | ||
| * {{fw:ogl:glut-3.7.6-bin.zip|GLUT 3.7.6}} | * {{fw:ogl:glut-3.7.6-bin.zip|GLUT 3.7.6}} | ||
| Descomprimiremos este archivo en la carpeta del proyecto y agregaremos las siguientes librerías ''opengl32.lib'' y ''glut32.lib''. Luego haremos un include de ''glut.h''. | Descomprimiremos este archivo en la carpeta del proyecto y agregaremos las siguientes librerías ''opengl32.lib'' y ''glut32.lib''. Luego haremos un include de ''glut.h''. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Línea 27: | Línea 37: | ||
| * ''GLUT_INDEX'' | * ''GLUT_INDEX'' | ||
| * ''GLUT_SINGLE'' | * ''GLUT_SINGLE'' | ||
| - | * ''GLUT_DOUBLE'' | + | * ''GLUT_DOUBLE'', double buffering. |
| * ''GLUT_ACCUM'' | * ''GLUT_ACCUM'' | ||
| * ''GLUT_ALPHA'' | * ''GLUT_ALPHA'' | ||
| Línea 42: | Línea 52: | ||
| === Dibujo === | === Dibujo === | ||
| - | * ''glutDisplayFunc'', mediante esta función se indica cual es la función encargada de dibujar. Recibe ''(void(*func)(void))'', es decir, el nombre de la función que devuelve ''void'' y no recibe parámetros. | + | * ''glutDisplayFunc'', indica cual es la función encargada de dibujar. Recibe ''(void(*func)(void))'', es decir, el nombre de la función que devuelve ''void'' y no recibe parámetros. |
| + | * ''glutPostRedisplay'', ordena el redibujo. | ||
| === Teclado === | === Teclado === | ||
| + | * ''glutKeyboardFunc'', indica la función que se llamará cuando se realice una pulsación de teclado. Recibe por parámetro el nombre de la función, teniendo que ser esta con el siguiente formato: ''(void(*func)(unsigned char key, int x, int y))''. | ||
| + | * ''glutKeyboardUpFunc'', con el mismo formato que la anterior, indica cuando se levanta una tecla. | ||
| + | |||
| + | === Otras === | ||
| + | * ''glutMainLoop'' función que inicia el //main loop// de glut, por lo tanto muestra la ventana, la mantiene abierta y se va llamando al bucle principal del programa. | ||
| + | * ''glutIdleFunc'' indica la función que se ejecutará cuando se haga una iteración del main loop. | ||
| + | * ''glutTimerFunc'' indica cada cuanto se ejecutará la función del main loop. | ||
| ==== Ejemplos ==== | ==== Ejemplos ==== | ||