Glut – OpenGL Util Toolkit
Para crear una ventana de visualizacion con OpenGL y no tener que preocuparnos por el sistema operativo
vamos a usar la libreria GLUT entre otras cosas, al igual que obtener los eventos de teclado y mouse entre otros.
____________________________________________________________________________
Instalacion
-
Instalar glut en linux
Para instalarlo es nesesario correr el siguiente comando:
$sudo aptitude install freeglut3-dev
-
Instalar glut en Windows
Extract the zipfile to some temporary folder.
Copy glut32.dll file to you your windows System folder. On Win2000/XP its
C:\winnt\system. On Win98 its C:\windows\system.
Tomado de: http://www.cs.rpi.edu/~girdhy/komputer_grafix/installing_glut.html
____________________________________________________________________________
Ahora queremos compilar nuestro codigo:
-
En Linux:
y listo, para poder usarlo, se incluye en los proyectos GL/glut.h
y para compilar no olvides decirle a g++ si vas a usar c++ la libreria lglut
y esto se hace asi:
$g++ main.cpp -o salida -lglut
y para ejecutarlo
$./salida
salida es un nombre que se le da al output
-
En Windows:
DEVC++
Descargamos e instalamos el compilador
El compilador a usar es Dev-C++, recuerden descargarse la versión que trae el compilador mingw integrado (la de 9.0MB, versión 4.9.9.2).
No creo que tengan ningún problema en instalarlo, ya saben como todas la aplicaciones del lado obscuro de la fuerza la instalación es: siguiente, siguiente, …, acepto y siguiente.
Traemos las paquetes necesarios para usar glut
Afortunadamente, el Dev-C++, trae todoAhora ejecutamos el manager y seleccionamos que se conecte al devpacks.org, el ortro mirror parece haber dejado de funcionar hace tiempo.
Una vez que hayamos dicho que se conecte, bajara una lista y nos la muestra, de esta lista le decimos que queremos instalar el paquete que se llama glut.
lo necesario para hacer progrmas de OpenGL, pero como nosotros vamos a ocupar ademas una biblioteca de manejo de ventanas: glut , necesitamos instalarla.
Abrimos el Dev-C++ y nos vamos al menú de Herramientas -> Actualizaciones.
Despues le decimos download selected, ahora el solo bajara el paquete, y después preguntara si debe instalarlo, le decimos que si.
Probamos la instalación
Nos vamos a Archivo -> Nuevo -> Proyecto, y se abre un nuevo cuadro de dialogo en este seleccionamos la pestaña de multimedia, y de ahí seleccionamos el tipo de proyecto glut.
En el nombre, le ponemos el nombre que va a llevar nuestro ejecutable (aquí yo ocupe ventana), en el lenguaje escogemos C.
Ahora el Dev-C++, creará el proyecto y le agregara un archivo de plantilla , como nosotros no lo queremos usar, le decimos que lo borre del proyecto.
Ahora nos queda agregar nuestro código al que el proyecto, por ejemplo le damos añadir nuevo archivo, y lo renombramos como ventana.c
VISUAL STUDIO 2008
You will also need to place the glut32.lib in your lib/ directory under your Visual Studio directory. On Windows XP, this is by default C:\Program Files\Microsoft Visual Studio 9.0\VC\lib. There is no need to create an additional folder for this file.
Finally, place the glut32.dll file in your Windows system directory. By default, this is C:\Windows\System
____________________________________________________________________________
Comencemos a usar Glut y crear la ventana
Lo primero consiste en inicializar GLUT,
asi:
glitInit(&argc, args)
-> Con argc el primer parametro del main como entero, y argv como segundo parametro del main como char**
Luego queremos decirle a GLUT que cree la ventana de visualizacion en la pantalla con un titulo,
asi:
glutCreateWindow(“Titulo de la ventana”);
Ya solo nos queda espeficicar que va a contener la ventana de visualizacion. Para ello utilizamos la funcion glutDislpayFunc (pasandole el nombre del metodo que dibujaria usando rutinas de opengl lo que queramos dibujar). Por ejemplo, supongamos que tenemos un metodo con definicion: void dibujarMundo(), que lo que hace es dibujar una casa, le diremos a glut
glutDisplayFunc(dibujarMundo).
Con esto no tenemos la ventana todavia, nesecitamos usar glutMainLoop() para que todas las ventanas que hayamos creado, incluyendo su contenido grafico, se activen. Muestra los graficos iniciales y pone el programa en un bucle infinito para comprobar la entrada que viene de los dispositivos de entrada y de salida (I/O) como el mouse, el teclado, etc..
Para cambiarle el tamaño a la ventana escribimos:
glutInitWindowSize(W,H)
->con W y H como enteros la cual indicara a glut que la ventana sera de WxH.
Para cambiarle la posicion usamos:
glutInitWindowPosition(X,Y)
-> Con X y Y como enteros
la cual le indicara a glut que la ventana tendra la poision X,Y
Y con esto tendremos ya nuestra ventana para emprezar
Ejemplo:
#include<GL/glut.h>
void changeSize(int w, int h) {
// Prevent a divide by zero, when window is too short
// (you cant make a window of zero width).
if(h == 0)
h = 1;float ratio = 1.0* w / h;
// Reset the coordinate system before modifying
glMatrixMode(GL_PROJECTION);
glLoadIdentity();// Set the viewport to be the entire window
glViewport(0, 0, w, h);// Set the correct perspective.
gluPerspective(45,ratio,1,1000);
gluLookAt(0.0,0.0,5.0,
0.0,0.0,-1.0,
0.0f,1.0f,0.0f);
glMatrixMode(GL_MODELVIEW);
}void dislpay(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glBegin(GL_TRIANGLES);//Dibujamos un triangulo
glVertex3f(-0.5,-0.5,0.0);
glVertex3f(0.5,0.0,0.0);
glVertex3f(0.0,0.5,0.0);
glEnd();
glutSwapBuffers();//Esto se explicara mas adelante}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);//Se explicara mas adelante
glutInitWindowPosition(100,100);
glutInitWindowSize(320,320);
glutCreateWindow(“Simple”);
glutDisplayFunc(dislpay);
glutReshapeFunc(changeSize);glutMainLoop();
return 0;
}
El compilador a usar es Dev-C++, recuerden descargarse la versión que trae el compilador mingw integrado (la de 9.0MB, versión 4.9.9.2).
No creo que tengan ningún problema en instalarlo, ya saben como todas la aplicaciones del lado obscuro de la fuerza la instalación es: siguiente, siguiente, …, acepto y siguiente.
Traemos las paquetes necesarios para usar glut
Afortunadamente, el Dev-C++, trae todoAhora ejecutamos el manager y seleccionamos que se conecte al devpacks.org, el ortro mirror parece haber dejado de funcionar hace tiempo.
Una vez que hayamos dicho que se conecte, bajara una lista y nos la muestra, de esta lista le decimos que queremos instalar el paquete que se llama glut.
lo necesario para hacer progrmas de OpenGL, pero como nosotros vamos a ocupar ademas una biblioteca de manejo de ventanas: glut , necesitamos instalarla.
Abrimos el Dev-C++ y nos vamos al menú de Herramientas -> Actualizaciones.
Despues le decimos download selected, ahora el solo bajara el paquete, y después preguntara si debe instalarlo, le decimos que si.
Probamos la instalación
Nos vamos a Archivo -> Nuevo -> Proyecto, y se abre un nuevo cuadro de dialogo en este seleccionamos la pestaña de multimedia, y de ahí seleccionamos el tipo de proyecto glut.
En el nombre, le ponemos el nombre que va a llevar nuestro ejecutable (aquí yo ocupe ventana), en el lenguaje escogemos C.
Ahora el Dev-C++, creará el proyecto y le agregara un archivo de plantilla , como nosotros no lo queremos usar, le decimos que lo borre del proyecto.
Ahora nos queda agregar nuestro código al que el proyecto, por ejemplo le damos añadir nuevo archivo, y lo renombramos como ventana.c
Hey, I read a lot of blogs on a daily basis and for the most part, people lack substance but, I just wanted to make a quick comment to say GREAT blog!…..I”ll be checking in on a regularly now….Keep up the good work!
thanks!!!!!!!!!!
Hey very nice blog!!….I’m an instant fan, I have bookmarked you and I’ll be checking back on a regular….See ya