¿Qué es y cómo descargar el paquete freeglut 3.0.0 MinGW?
Mientras estaba en la Universidad, tomé un módulo llamado «Gráficos por computadora interactivos» (o EE222 como lo llamamos). La mitad del curso consistió en usar POV-Ray para crear imágenes y luego juntarlas para hacer una animación de alta calidad. La otra mitad del curso consistió en programar gráficos interactivos en tiempo real usando C y OpenGL, con la ayuda de la biblioteca GLUT freeglut. Continué con mi proyecto de fin de año, creando una simulación en C ++ y OpenGL. Era la primera vez que escribía una solicitud real y todavía tengo debilidad por GLUT.
Paquete freeglut 3.0.0 MinGW
Este paquete contiene archivos DLL de Windows de 32 y 64 bits, bibliotecas de importación, bibliotecas estáticas y archivos de encabezado, lo que permite compilar aplicaciones de Freeglut utilizando el compilador MinGW. El paquete se creó a partir del código fuente utilizando MinGW. La DLL es binaria compatible con mi DLL MSVC y la DLL GLUT para Win32 proporcionada por Nate Robins. La DLL se ha probado en Windows 98 SE, Windows ME, Windows 2000, Windows XP, Windows Vista, Windows 7 (64 bits) y Windows 8 (64 bits).
El paquete también debería funcionar con los distintos IDE que ofrecen interfaces para MinGW / gcc, por ejemplo, Eclipse, Dev-C ++ y Code Blocks. Sin embargo, deberá consultar el manual de su IDE para obtener instrucciones sobre cómo hacer esto.
Para descargar la librería mencionada pueden utilizar el siguiente enlace o link:
Descargue freeglut 3.0.0 para MinGW
Si tiene problemas al utilizar estos paquetes (errores del compilador / enlazador, entre otros bugs), compruebe que ha seguido correctamente todos los pasos del archivo Léame. Casi todos los problemas que se informan con estos paquetes se deben a que no se realiza un paso o no se realiza correctamente, por ejemplo, al intentar crear una aplicación de 32 bits con la biblioteca de importación de 64 bits.
Si ha seguido todos los pasos correctamente pero su aplicación aún no se compila, intente compilar un programa muy simple pero funcional (este ejemplo de Freeglut de MinGW es bueno, ya sea que esté usando MinGW o no). Mucha gente intenta crear aplicaciones muy complejas después de instalar estos paquetes y, a menudo, el error está en el código de la aplicación o en otras dependencias de la biblioteca en lugar de freeglut.
Pasos para intalar la libreria freeglut 3.0.0 MinGW:
1.- Primero se instala como administrador el Devc++ (Previamente descargado de su pagina oficial)
2.- Luego se descomprime la librería descargada de freeglut
3.- Se copia los archivos de la carpeta bin de la ruta: C:\Users\nomeuser\Downloads\freeglut\bin\x64 a la ruta de windows: win32 C:\Windows\System32
4.- Se copia los archivos de la carpeta lib de la ruta: C:\Users\nameuser\Downloads\freeglut\lib\x64 a la ruta del programa Devc++: C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib
5.- Se copia los archivos de la carpeta GL de la ruta: C:\Users\nameuser\Downloads\freeglut\include\GL a la ruta del programa Devc++: C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\GL
6.- Por ultimo cada vez que crees un proyecto de console aplication en Devc++ con gráficos utilizando la librería freeglut debes realizar un anticlick en la carpeta de tu proyecto, luego ingresar a opciones de proyecto o proyect options y agregar en parameters los siguientes parámetros:
-lopengl32
-lfreeglut
-lglu32
El siguiente código es un ejemplo del grafico de un triangulo:
#include <GL/glut.h>
#include <math.h>
void display(void){
glClearColor(0.0,0.0,0.0,0.0);
// Color de fondo: negro
glClear(GL_COLOR_BUFFER_BIT);
// Boramos la pantalla
glMatrixMode(GL_PROJECTION);
// Modo proyeccion
glLoadIdentity();
// Cargamos la matriz identidad
//glOrtho(-1.0,1.0,-1.0,1.0,-1.0,1.0);
gluPerspective(60.0,1.0,1.0,100.0);
// Proyeccion ortografica, dentro del cubo senalado
glMatrixMode(GL_MODELVIEW);
// Modo de modelado
glTranslatef(0.0,0.0,-2.0);
glBegin(GL_QUADS);
// Dibujamos un cuadrado
glColor3f(0.0,1.0,1.0);
// Color para el cuadrado
glVertex3f(-0.5,0.5,-0.5);
// Coordenadas del primer vertice (superior-izquierda)
glVertex3f(-0.5,-0.5,0.5);
// Coordenadas del segundo vertice (inferior-izquierda)
glVertex3f(0.5,-0.5,0.5);
// Coordenadas del primer vertice (inferior-derecha)
glVertex3f(0.5,0.5,-0.5);
// Coordenadas del primer vertice (superior-derecha)
glEnd();
// Terminamos de dibujar
glFlush();
};
int main(int argc, char ** argv){
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(20,20);
glutInitWindowSize(500,500);
glutInit(&argc, argv);
glutCreateWindow("hola");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Referencias
transmissionzero (2018). link de descarga. [Figure 1]. Recuperado de https://www.transmissionzero.co.uk/software/freeglut-devel/
Pixabay (chiplanay, 2020). Ilustración de esta poesía. [Figure 1]. Recuperado de https://pixabay.com/