Tabla de Contenidos

OpenGL (Xtra 2)

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

Instalación y uso

En Linux

Podremos instalar el paquete freeglut, luego para compilar utilizaremos la siguiente línea:

$ g++ -Wall -o "%e" "%f" -I/usr/include/ImageMagick/ -lglut -lGL -lGLU -lMagick++

En Windows

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.

Funciones

Inicio

Ventana

Dibujo

Teclado

Otras

Ejemplos

Simple

#include "glut.h"
 
void renderScene(void) {
	glClear(GL_COLOR_BUFFER_BIT);
	glBegin(GL_TRIANGLES);
		glVertex3f(-0.5,-0.5,0.0);
		glVertex3f(0.5,0.0,0.0);
		glVertex3f(0.0,0.5,0.0);
	glEnd();
	glFlush();
}
 
void main(int argc, char **argv) {
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
	glutInitWindowPosition(100,100);
	glutInitWindowSize(320,320);
	glutCreateWindow("3D Tech- GLUT Tutorial");
	glutDisplayFunc(renderScene);
	glutMainLoop();
}

OpenGL en Linux

Antes de empezar a desarrollar para Linux en OpenGL es necesario saber si nuestro sistema puede renderizar código OpenGL, para ello utilizaremos el comando glxinfo de la siguiente forma:

glxinfo | grep "rendering"

Este comando puede servirnos también para saber qué versión tenemos y la marca de los drivers:

glxinfo | grep "version"
glxinfo | grep "vendor"

Para comprobar el funcionamiento de OpenGL en Linux ejecutaremos el comando glxgears.
En caso de no funcionar deberíamos instalar Mesa 3d.

X11 (X Window)

Al desarrollar en X11 será necesario hacer dos cosas:

Una vez realizados los pasos anteriores podremos usar las funciones para el servidor X. Las que nos importan ahora son:

Display *dpy = XOpenDisplay(getenv("DISPLAY"));
XCloseDisplay(dpy);

GLX

GLX es la librería que proporciona un enlace entre las X y OpenGL activando la posibilidad de dibujo 3d sobre las ventanas. Para desarrollar con esta debemos añadir la librería GL (compilando con -lGL).
La versión actual de GLX es la 1.3 que corresponde a la OpenGL 1.2.

OpenGL ES

WebGL