Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación...

50
1 Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011

Transcript of Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación...

Page 1: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

1

Computación Gráfica(Algunos Fundamentos)

Universidad de los AndesDemián Gutierrez

Octubre 2011

Page 2: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

2

Sist. de Coordenadas

Page 3: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

3

Sist. de Coordenadas(mano derecha)

¿Por qué será de la mano derecha?

Page 4: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

4

Transformaciones 3D

Page 5: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

5

Transformaciones (3D)

Page 6: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

6

Transformaciones (3D)

Page 7: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

7

Transformaciones (3D)

Page 8: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

8

Transformaciones (3D)

alrededor de X

alrededor de Y

alrededor de Z

[xyz1]

Page 9: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

9

Transformaciones (3D)

Page 10: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

10

¿Qué hay sobre la rotaciónalrededor de un eje arbitrario?

Page 11: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

11

Transformaciones (3D)

Page 12: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

12

...mucha, mucha matemática

después...

Page 13: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

13

Transformaciones (3D)

Page 14: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

14

Red Book

Page 15: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

15

¿cómo dibujar?

Page 16: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

16

Soporte Conceptual / Fundamentos

glBegin(GL_POINTS);

// Pts (GREEN)glColor3f(0, 1, 0);glVertex3f(0, 0, 0);glVertex3f(1, 0, 0);glVertex3f(1, 1, 0);glVertex3f(1, 1, 0);glVertex3f(1, 1, 0);

// Pts (RED)glColor3f(1, 0, 0);glVertex3f(0, 0, 0);glVertex3f(0, 0, 1);glVertex3f(0, 1, 1);glVertex3f(1, 1, 0);glVertex3f(1, 1, 0);

glEnd();

Page 17: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

17

Soporte Conceptual / Fundamentos

glBegin(GL_LINES);

// LIN 1 (GREEN)glColor3f(0, 1, 0);glVertex3f(0, 0, 0);glVertex3f(1, 0, 0);

// LIN 2 (GREEN)glVertex3f(1, 1, 0);glVertex3f(1, 1, 0);

// LIN 3 (RED)glColor3f(1, 0, 0);glVertex3f(0, 0, 0);glVertex3f(0, 0, 1);

// LIN 4 (RED)glVertex3f(1, 1, 0);glVertex3f(1, 1, 0);

glEnd();

Page 18: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

18

Soporte Conceptual / Fundamentos

glBegin(GL_LINE_STRIP);

// LIN 1 (GREEN)glColor3f(0, 1, 0);glVertex3f(0, 0, 0);glVertex3f(1, 0, 0);

// LIN 2 (GREEN)glVertex3f(1, 1, 0);glVertex3f(1, 1, 0);

// LIN 3 (RED)glColor3f(1, 0, 0);glVertex3f(0, 0, 0);glVertex3f(0, 0, 1);

// LIN 4 (RED)glVertex3f(1, 1, 0);glVertex3f(1, 1, 0);

glEnd();

Page 19: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

19

Soporte Conceptual / Fundamentos

glBegin(GL_QUADS);

// QUAD 1glColor3f(0, 1, 0);glVertex3f(0, 0, 0);glVertex3f(1, 0, 0);glVertex3f(1, 1, 0);glVertex3f(1, 0, 0);

// QUAD 2glColor3f(1, 0, 0);glVertex3f(0, 0, 0);glVertex3f(0, 0, 1);glVertex3f(0, 1, 1);glVertex3f(0, 1, 0);

// QUAD n// ...

glEnd();

Page 20: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

20

Soporte Conceptual / Fundamentos

glBegin(GL_TRIANGLES);

// TRI 1glColor3f(0, 1, 0);glVertex3f(0, 0, 0);glVertex3f(1, 0, 0);glVertex3f(1, 1, 0);

// TRI 2glColor3f(1, 0, 0);glVertex3f(0, 0, 0);glVertex3f(0, 0, 1);glVertex3f(0, 1, 1);

// TRI n// ...

glEnd();

Page 21: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

21

Soporte Conceptual / Fundamentos

Page 22: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

22

Soporte Conceptual / Fundamentos

Page 23: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

23

Soporte Conceptual / Fundamentos

Page 24: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

24

Transformaciones 3D(Ahora en OpenGL...)

Page 25: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

25

Transformaciones (3D)

Page 26: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

26

Transformaciones (3D)

Page 27: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

27

Transformaciones (3D)

Page 28: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

28

Las Pilas de Matrices

Matriz de Modelovs

Matriz de Proyección

Page 29: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

29

Matrices

Page 30: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

30

Matrices

Matriz de Modelomodifica como se transforman las

coordenadas de los modelos

Matriz de Proyecciónmodifica como se

transforman los objetos 3D a la vista

Page 31: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

31

Matrices

Page 32: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

32

Matrices

Page 33: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

33

¿A dónde mira la cámara?

Page 34: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

34

¿A donde ve la cámara?

Page 35: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

35

¿A donde ve la cámara?

¿?

Page 36: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

36

¿A donde ve la cámara?

Page 37: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

37

¿Cómo se proyecta el mundo 3D en 2D?

Page 38: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

38

Perspective Projection

Page 39: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

39

Perspective Projection

Page 40: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

40

Perspective Projection

Page 41: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

41

Perspective Projection

Page 42: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

42

Orthographic Projection

Page 43: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

43

Orthographic Projection

Page 44: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

44

Orthographic Projection

Page 45: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

45

¿El “puerto de vista” o viewport?

Page 46: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

46

Viewport

Page 47: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

47

¿texturas?¿iluminación / sombreado?

¿material?¿curvas?¿otros?

Page 48: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

48

coming soon

Page 49: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

49

Orthographic Projection

http://user.xmission.com/~nate/tutors.html

Nate RobinsOpenGL Tutorials:

Page 50: Computación Gráfica - › files › slides › CG_clase_03_intro_OpenGL.pdf · Computación Gráfica (Algunos Fundamentos) Universidad de los Andes Demián Gutierrez Octubre 2011.

50

Gracias

¡Gracias!