INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY
Cs95063. Gráficas Computacionales Interactivas

Departamento académico:CS
Unidades:3-1-8
Requisito:
Semestre y carrera:
Equivalencia:VA00801, VA00802, VA00803, VA00804
Objetivo general de la materia:Al finalizar este curso se espera que el alumno tenga la capacidad de desarrollar aplicaciones interactivas con gráficas tridimensionales utilizando las herramientas aprendidas en el semestre.

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)