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
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...