+ All Categories
Home > Documents > OpenGl en Dev C++

OpenGl en Dev C++

Date post: 03-Apr-2023
Category:
Upload: khangminh22
View: 0 times
Download: 0 times
Share this document with a friend
20
GRAFICACIÓN OpenGL Profr . Hilario Salazar Martínez
Transcript

GRAFICACIÓN

OpenGL

Profr. Hilario Salazar Martínez

librería GLUT

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

Alternativa 2

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)

b) Compilar el archivo lines.c

# make

c) Ejecutar

# ./lines


Recommended