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

Upload: others

Post on 26-Jun-2020

15 views

Category:

Documents


1 download

TRANSCRIPT

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!