Computación Gráfica

Transcripción

Computación Gráfica
Computación Gráfica
(Algunos Fundamentos)
Universidad de los Andes
Demián Gutierrez
Octubre 2011
1
Sist. de Coordenadas
2
Sist. de Coordenadas
(mano derecha)
¿Por qué será de la mano derecha?
3
Transformaciones 3D
4
Transformaciones (3D)
5
Transformaciones (3D)
6
Transformaciones (3D)
7
Transformaciones (3D)
alrededor de X
alrededor de Y
alrededor de Z
[]
x
y
z
1
8
Transformaciones (3D)
9
¿Qué hay sobre la rotación
alrededor de un eje arbitrario?
10
Transformaciones (3D)
11
...
mucha, mucha matemática
después
...
12
Transformaciones (3D)
13
Red Book
14
¿cómo dibujar?
15
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();
16
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();
17
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();
18
Soporte Conceptual / Fundamentos
glBegin(GL_QUADS);
// QUAD 1
glColor3f(0, 1, 0);
glVertex3f(0, 0, 0);
glVertex3f(1, 0, 0);
glVertex3f(1, 1, 0);
glVertex3f(1, 0, 0);
// QUAD 2
glColor3f(1, 0, 0);
glVertex3f(0, 0, 0);
glVertex3f(0, 0, 1);
glVertex3f(0, 1, 1);
glVertex3f(0, 1, 0);
// QUAD n
// ...
glEnd();
19
Soporte Conceptual / Fundamentos
glBegin(GL_TRIANGLES);
// TRI 1
glColor3f(0, 1, 0);
glVertex3f(0, 0, 0);
glVertex3f(1, 0, 0);
glVertex3f(1, 1, 0);
// TRI 2
glColor3f(1, 0, 0);
glVertex3f(0, 0, 0);
glVertex3f(0, 0, 1);
glVertex3f(0, 1, 1);
// TRI n
// ...
glEnd();
20
Soporte Conceptual / Fundamentos
21
Soporte Conceptual / Fundamentos
22
Soporte Conceptual / Fundamentos
23
Transformaciones 3D
(Ahora en OpenGL...)
24
Transformaciones (3D)
25
Transformaciones (3D)
26
Transformaciones (3D)
27
Las Pilas de Matrices
Matriz de Modelo
vs
Matriz de Proyección
28
Matrices
29
Matrices
Matriz de Modelo
Matriz de Proyección
modifica como se
transforman las
coordenadas de los
modelos
modifica como se
transforman los objetos 3D
a la vista
30
Matrices
31
Matrices
32
¿A dónde mira la cámara?
33
¿A donde ve la cámara?
34
¿A donde ve la cámara?
¿?
35
¿A donde ve la cámara?
36
¿Cómo se proyecta el mundo
3D en 2D?
37
Perspective Projection
38
Perspective Projection
39
Perspective Projection
40
Perspective Projection
41
Orthographic Projection
42
Orthographic Projection
43
Orthographic Projection
44
¿El “puerto de vista” o
viewport?
45
Viewport
46
¿texturas?
¿iluminación / sombreado?
¿material?
¿curvas?
¿otros?
47
coming
soon
48
Orthographic Projection
Nate Robins
OpenGL Tutorials:
http://user.xmission.com/~nate/tutors.html
49
Gracias
¡Gracias!
50

Documentos relacionados

OpenGL - Alberto Jaspe

OpenGL - Alberto Jaspe Si el borrado de pantalla y el dibujado del frame tardan más de 1/24 de segundo, antes de que se pueda dibujar el siguiente, el borrado ya se habrá producido. Esto causaría un parpadeo en la pantal...

Más detalles