Guia Aplicacion Opengl

29
1 Prof.: Ulises Román C 2010 2 Guía de Laboratorio Diseño & Aplicación

Transcript of Guia Aplicacion Opengl

1

Prof.: Ulises Román C – 2010

2 Guía de

Laboratorio

Diseño &

Aplicación

2

IDEs(Integrated Development Environment) & Aplicaciones

RESUMEN

La presente guía enseña a Instalar, editar, compilar, ejecutar un programa usando los lenguajes de Programación: VisualC++ (software propietario), DevC++(software libre, GPL) y BorlandC++(software mixto) , Java(2D/3D) y la Librería OPENGL, a continuación se muestra el uso y aplicación de estos lenguajes teniendo en consideración una lógica definida: algoritmo código resultados en pantalla y/o Printer dentro del entorno de OpenGL. Existen muchos lenguajes de programación en la famila C (Ansi C, VisualC++, BorlandC++, C++Builder, C#, DevC++), así como distintos paradigmas de programación, lo importante es conocer un estilo de programación y conocer como se DISEÑA UN ALGORITMO ya que del algoritmo al código es MEDIO PASO.Asi como las primitivas y constantes del OpenGL. Lo Importante de los IDEs es que actúan como COMPILADORES que pueden realizar el: ANALISIS SEMANTICO, LEXICOGRAFICO Y SINTACTICO al ejecutar un programa cualquiera, se debe definir las librerías de Opengl(glut, glu, GL,etc)

3

A. PRIMITIVAS DE DIBUJO: En openggl se puede dibujar primitivas como: puntos, líneas, cuadrados, triangulo y polígonos, a partir de estas primitivas se pueden construir primitivas complejas como: arcos y círculos. Toda primitiva de dibujo va dentro de un: glBegin(tipo de primtiva); glVertex2f() glVertex2f() glEnd(); Tipos de primitivas: GL_POINTS, GL_LINES, GL_LINE:STRIP, GL_LINE_LOOP, GL_POLYGON, GL_QUADS, GL_QUADS_STRIP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN. Ejercicios:

B. TRANSFORMACIONES: En opengl se realizan las transformaciones multiplicando por las matrices y se aplican en sentido inverso al que se escriben: para rotar, trasladar objetos, para pintar, etc. Opengl trabaja básicamente con dos matrices: GL_MODELVIEW, GL_PROJECTION, usa las siguientes instrucciones: glMatrixMode(modo), glPushMatrix(),glPopmatrix(), glLoadidentity(), glMultMatrix (matriz), glLoadMatrix(matriz) ,glGetFloatv(modo,n),etc.

4

puede dibijar primitivas como: puntos, líneas, caudrados, trinagulo y polígonos, a partir de estas primitivas se pueden construir primitivas complejas como: arcos y círculos. Toda primitiva de dibujo va dentro de un: glBegin(tipo de primtiva); glVertex2f() glVertex2f() glEnd(); Ejercicios:

C. MANEJO DE BUFFERS: En opengl los buffers son combinaciones de colores, indicando que buffres se debe crear, veamos algunos ejemplos: GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH |GLUT_STENCIL |GLUT_ACCUM. Ejercicios: El programa hace que el cubo gire, para ello use el mouse para variar la velocidad y la forma de giro.

5

6

7

8

EJERCICIOS :Hacer los programas para los gráficos siguientes (usar el manual de referencia OpenGL ver.1 (paginas 21 al 30), el manual será proporcionado por el profesor.

9

10

11

12

13

OBJETOS EN MOVIMIENTO Ejercicios: programa que genera el movimiento de un péndulo.

14

15

Ejercicios: Hacer el programa que genera el movimiento de dos péndulos, uno que vaya de izquierda a derecha y otra de derechas a izquierda. Ejercicios: Programa que genera el movimiento de una orbita.

16

RESULTADO:

17

Ejercicios: El siguiente programa genera un cuadrado, usando paso de parámetros de variables como se muestra abajo.

Ejercicios: Genere un programa que muestre un triangulo, cuadrado usando paso de parámetros de variables. Ejercicios: El siguiente programa genera gráficos de un función seno como se muestra a continuación:

18

Ejercicios: El siguiente programa genera una roseta de n lados, se debe ingresar los lados, ejemplo n=20.

19

RESULTADO:

Ejercicio: Hacer el codigo para generar la siguiente figura y/o haga las modificaciones del programa anterior.

20

21

Ejercicio: Que genera el siguiente codigo.

Ejercio: Usando el codigo anterior imprima una cadena, donde se ingrese las coordenadas de inico de x e y: a partir de ella imprima la cadena.

22

Ejercicio: Programa que genera una pelota rotando

23

24

RESULTADO:

Ejercicio: Codifica el siguiente programa, que debe generar una tetera con brillo y textura.

25

26

27

Ejercicios: Arme robot, sistemas planetarios, y otros problemas que ayuden a resolver un situacion.

28

29