Date post: | 03-Apr-2023 |
Category: |
Documents |
Upload: | khangminh22 |
View: | 0 times |
Download: | 0 times |
Visual C++ 6.0
Introducción
La librería GLUT nos permite crear una interfície de
ventanas tipo X-Windows.
Los programas se pueden compilar tanto en Windows,
Linux y SGI.
Funciones C.
Instalación Windows 98/Me/XP
Archivos necesarios para compilar
C:\Archivos de programa\Microsoft Visual Studio\VC98\includes\gl
Gl.h
Glaux.h
Glu.h
Glut.h
C:\Archivos de programa\Microsoft Visual Studio\VC98\lib
Glaux.lib
Glu32.lib
Opengl32.lib
Glut32.lib
C:\windows\system
Glu32.dll
Glut32.dll
Opengl32.dll
Eventos y callbacks
Interfície de ventanas Programación orientada a eventos.
La ejecución consiste en el siguiente bucle:
hacer
evento = CapturarEvento
si evento = click entonces llamar a funcion Click
…sino si evento = cerrar_ventana entonces llamar a funcion CerrarVentana
mientras (ventana abierta)
Callback: Función que se llama cuando sucede un determinado
evento.
Definición de callbacks
La GLUT provee de una función de definición para cada evento controlable.
glutDisplayFunc( void (*func) (void))
func() se llamará cada vez que haya que redibujar la ventana.
glutReshapeFunc(void(*func)(int width,int height))
func(width, height) se llamará cada vez que la ventana cambie de tamaño, y recibirá como parámetros la nueva anchura y altura.
Ejemplo#include <gl/glut.h>
void display(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutWireTeapot(0.5);
glFlush();
glutSwapBuffers();
}
void main(void) {
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
glutCreateWindow(“Ejemplo cutre de GLUT”)
glClearColor(0.0, 0.0, 0.0, 1.0);
glEnable(GL_DEPTH_TEST);
glutDisplayFunc(display);
glutMainLoop();
}
Compilación I“File | New”. Seleccionamos “Win32 Console Application” en la
pestaña “Projects”. Introducimos el nombre y path del proyecto.
Pulsamos OK.
Seleccionamos la opción “An empty project” y pulsamos Finish y luego
OK. Esto crea un proyecto vacío.
Compilación II
Compilación III“Project | Add to project… | New…”. Seleccionamos en “Files” laopción “C++ Source File”. Le damos un nombre y pulsamos sobreOK.
Compilación IV“Project | Settings” . En “Link” seleccionamos “All Configurations”
Añadimos al cuadro de edición “Object / library modules” las
siguientes librerías: opengl32.lib glu32.lib glut32.lib y pulsamos OK.
Ejecución
Escribimos el código del program, pulsamos sobre el icono
Y a la pregunta respondemos “Sí”.
OpenGL en Dev C++
Instalación
1. La librerías GLUT para Dev C++ descomprimir(*.zip) → Directorio X
2. glut32.dll (X) →windows/system (Windows 9x/Me),
→windows/system32(WindowsNT/2000/XP/2003).
3. Glut.h (X)→ subdirectorio Include/Gl de Dev C++
4. glut32.def (X) e libglut.a (X) → C:\Dev C++\Lib
Creación de los programasPara que la compilación sea exitosa debemos indicar que librerías utilizaremos en
nuestros programas. La forma de hacer esto en Dev-C es la siguiente:
1. Crear un proyecto. Eso lo consigues haciendo click en el botón Project... de la
barra de herramientas, o bien, en el menu File -> New -> Project..., elije Empty
project y dale nombre a tu proyecto
2. Ir al menu Project -> Project Options o selecciona el botón correspondiente de la barra
de herramientas. En el cuadro de diálogo que aparece ve a la pestaña Parameters. En
el cuadro que dice Linker agrega los siguientes archivos (se encuentran en el directorio
lib de Dev-C):
libglu32.a
libopengl32.a
libglut32.a
Alternativa 1
-lopengl32
-lglut32
-glu32
alternativa
3. Solo falta agregar archivos fuente a tu proyecto, o bien, crearlos desde ahí.
No olvides abrir el proyecto y no solo el código fuente cuando desees
compilar tus programas.
Usando glut en Linux1. Descargar (root) Mesa-glut-X.X-X.i386.rpm
2. Desempaquetar
rpm –ivh Mesa-glut-X.X-X.i386.rpm
3. Instalar (entrar al directorio donde se desempaquetaron)
ejecutar
* make (make linux)
* make install
(cp –r include/GL a /usr/include/GL
cp –r lib/* a /usr/lib)
4. gcc –o file file.c –lglut –lglu –lGL (Makefile)
Nota: si descarga el paquete desde mi pagina entonces (glut-3.7) entonces realice el siguiente proceso
# ./mkmkfiles.imake
# make
# make install
1) Compilar usando un archivo Makefile
a) Editar Makefile, suponemos que la aplicación es lines.c
# vi Makefile
INCLUDE = -I/usr/X11R6/include/
LIBDIR = -L/usr/X11R6/lib/
CFLAGS = -Wall
CC = gcc
LIBRARIES = -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm
OBJECTS = lines.o
all: lines
lines: $(OBJECTS)
$(CC) $(CFLAGS) $(INCLUDE) $(LIBDIR) -o $@ $(OBJECTS) $(LIBRARIES)
lines.o: lines.c
$(CC) $(CFLAGS) -c lines.c
.PHONY: clean
clean:
rm lines $(OBJECTS)