Temas y subtemas del curso:1.
Introducción a las gráficas interactivas.
1.1. Conceptos y arquitectura de hardware gráfico.
1.2. Métodos de despliegue.
1.3. Descripción de librerías para despliegue interactivo.
2. Repaso de conceptos matemáticos.
2.1. Puntos y vectores.
2.2. Coordenadas homogéneas.
2.3. Operaciones con matrices.
2.4. Matrices para transformaciones afines.
2.5. Cuaterniones.
3. Manejo de ventanas.
3.1. Creación y manejo de ventanas.
3.2. Manejo de eventos.
3.3. Manejo de menús.
4. Primitivas de dibujo.
4.1. Especificación de primitivas.
4.2. Tipos de primitivas.
4.3. Modificadores de dibujado de primitivas.
5. Proyección y transformaciones.
5.1. Modelo de transformación y proyección.
5.2. Manejo de la matriz de proyección.
5.3. Manejo de la matriz de transformación.
5.4. Jerarquías de matrices y modelos articulados
5.5. Animación
6. Imágenes.
6.1. Despliegue de imágenes.
6.2. Modificadores de despliegue de imágenes.
7. Texturas.
7.1. Especificación de texturas.
7.2. Especificación de coordenadas de textura.
7.3. Operaciones para manejo de texturas.
8. Iluminación.
8.1. Descripción del modelo de iluminación.
8.2. Especificación y parametrización de fuentes de luz.
8.3. Vectores normales y atributos de materiales.
9. Hardware Gráfico Programable
9.1. Vertex Shaders
9.2. Píxel Shaders
9.3. Efectos de iluminación y texturas
10. Tópicos avanzados.
10.1. Niebla.
10.2. Listas de despliegue.
10.3. Evaluadores.
10.4. Transparencia.
10.5. Estereoscopía.
Objetivos específicos
de aprendizaje:1. Introducción a las gráficas interactivas.
El alumno tendrá una visión general del procedimiento que se lleva
a cabo para el trazado de objetos tridimensionales en una pantalla.
2. Repaso de conceptos matemáticos.
El alumno recordará los conceptos matemáticos fundamentales para
comprender las operaciones realizadas con puntos, vectores y polígonos
en un ambiente tridimensional.
3. Manejo de ventanas.
El alumno adquirirá la capacidad de crear ventanas y de interactuar con
el usuario.
4. Primitivas de dibujo.
El alumno conocerá la manera de trazar objetos simples a partir de atributos
como posición y color.
5. Proyección y transformaciones.
El alumno obtendrá herramientas para modificar la proyección de
la cámara y manipular la posición y orientación de los
objetos en el espacio.
6. Imágenes.
El alumno aprenderá a desplegar imágenes en pantalla.
7. Texturas.
El alumno entenderá cómo relacionar imágenes con objetos
tridimensionales para mejorar su apariencia.
8. Iluminación.
El alumno comprenderá y aplicará los algoritmos utilizados para
simular la iluminación sobre una superficie a partir de un conjunto de
fuentes de luz.
9. Hardware Gráfico
Programable
El alumno comprenderá y aplicará los algoritmos para hardware
gráfico programable.
10. Tópicos avanzados.
El alumno conocerá temas adicionales que le ayudarán a generar
mejores resultados visuales de una manera eficiente.
Metodología de enseñanza:ñanza
Tiempo estimado de cada tema:1. Introducción a las gráficas interactivas.
(3 horas)
2. Repaso de conceptos matemáticos. (3 horas)
3. Manejo de ventanas. (3 horas)
4. Primitivas de dibujo. (3 horas)
5. Proyección y transformaciones. (6 horas)
6. Imágenes. (3 horas)
7. Texturas. (6 horas)
8. Iluminación. (6 horas)
9. Hardware Gráfico Programable (9 horas)
10. Tópicos avanzados. (6 horas)
Políticas de evaluacion
sugeridas:Tareas 30%
Presentaciones de temas 20%
Proyecto de medio término 20%
Proyecto final 30%
Libro de texto1:Angel, Edward. Interactive computer graphics: a top-down approach with OpenGL. Boston MA: Addison Wesley, 2003, Third Edition.
Libro de texto2:Shriner, Dave; Mason Woo; Jackie Neider; Tom Davis; OpenGL Architecture
Review Board. OpenGL programming guide: the official guide to learning OpenGL,
Version 1.4, Fourth Edition.
Libro de texto3:Libro de Texto 3
Libro de consulta:Wright Jr., Richard S.; Michael R. Sweet. OpenGL SuperBible, 2nd Edition. Addison-Wesley Pub Co, 2003.
Fernando, Randima; Mark J. Kilgard. The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics. AK Peters Ltd; 2nd edition, 2002.
Akenine-Moller, Tomas; Eric Haines. Real Time Rendering. AK Peters Ltd; 2nd Edition, 2002.
\0Material de apoyo:Compilador
de C++ (Microsoft Visual C++, g++)
OpenGL/GLUT
Perfil del Profesor:Profesor con maestría y carrera en el área
de computación o matemáticas, con experiencia en desarrollo de
aplicaciones gráficas interactivas, de preferencia en C y OpenGL.
Fecha de la última actualización: 01 de septiembre de 2004(M)