Computación Gráfica II

Esta información corresponde al primer cuatrimestre de 2006

La Materia - Datos básicos

Profesor:
Claudio Delrieux (claudio arroba acm punto org)
Horarios:
Comienzo de clases:
(tentativamente) 27 de marzo de 2006.
Carácter:
optativa; 3 puntos para Licenciatura en Cs. de la Computación, 3 puntos para Doctorado.
Forma de aprobación:
para aprobar el final, un trabajo final.
Correlatividades:
Computación Gráfica I

Objetivos y Descripción:

En los últimos 4 años, el hardware gráfico (GPU) experimentó una transición definitiva, de poseer la capacidad para ejecutar una parte sustancial del pipeline gráfico scan-line con algoritmos rígidamente implementados, a poder implementar una estructura de renderizado programable, con la capacidad de vincularse dinámicamente con la aplicación, y la capacidad de ser programada dinámicamente por medio de compiladores incorporados a bibliotecas runtime. Estas facilidades, más allá de la potencia inherente al hardware gráfico paralelo, implican una forma completamente diferente y más efectiva de programar aplicaciones gráficas. Esto permite, entre otras cosas, que los modelos de iluminación no locales tradicionales puedan ser implementados de una manera más sencilla que en CPU y con tiempos de ejecución muy cercanos al tiempo real. Al mismo tiempo, permiten la investigación y experimentación de modelos de iluminación de muy alta complejidad y riqueza. Este proceso ha ido elevando sostenida y rápidamente el estandar de calidad en las aplicaciones típicas de la computación gráfica, en particular los juegos y las animaciones.

El objetivo de esta materia consiste en introducir a los alumnos que ya tienen conocimientos de computación gráfica, en los conceptos mencionados más arriba, en particular en lo concerniente al hardware gráfico programable, el software existente como plataforma de desarrollo, y la teoría de los modelos de iluminación avanzados actualmente aplicados y experimentales. También se presenta un panorama del uso del hardware gráfico programable para programación de propósito general, como aceleradora en otro tipo de aplicaciones.

Programa Sintético

Hardware gráfico programable (GPU), arquitectura y programación. Programación del pipeline gráfico, programas de vértices, programas de fragmentos. Modelos de iluminación y shading. Modelos locales, no locales y globales. Modelos de iluminación avanzados. Uso del GPU para propósito general, procesamiento de imágenes, visualización científica, álgebra de matrices, simulación discreta, geometría computacional.

Programa Analítico

  1. Hardware gráfico programable (GPU). Evolución de las placas gráficas. Estado del arte y tendencias. Descripción de las funciones del GPU, procesador de vértices, convertidor-scan, procesador de fragmentos, mapeo de texturas, post-procesamiento.
  2. Plataformas de software para GPU. Bibliotecas tradicionales y aplicaciones legacy con OpenGL y DX9-. Extensiones a estos modelos (ARB, HLSL). Tendencias actuales. Cg. Perfiles de shaders. Interacción con la aplicación desde la biblioteca runtime. Shaders dinámicos.
  3. Programación del Pipeline. Pipeline fijo. Programas de vértices. Texcoords y uso del scan converter. Programas de fragmentos. Mapeo de texturas y renderizado sobre texturas. Procesamiento por streams.
  4. Implementación en GPU del shading tradicional. Modelo de Phong en vértices (shading de Gouraud). Shading de Phong en programa de fragmentos. Extensiones al modelo de iluminación local tradicional. Limitaciones.
  5. Implementación de modelos de iluminación no local tradicionales. Ray tracing. Transparencias. Sombras. Iluminación anisotrópica. Radiosidad precomputada. Photon Mapping.
  6. Modelos de iluminación avanzados. La ecuación del rendering. Environment mapping no local. Armónicos esféricos. Modelos basados en procesamiento de imágenes. Modelos atmosféricos.
  7. Computación de propósito general utilizando GPU (GPGPU). Usos no standard de la computación paralela en GPU. Algebra de matrices. Procesamiento de imágenes. Advección y simulación discreta. Visualización científica. Geometría computacional.

Bibliografía

Libros

Papers


Ultima actualización: 24 feb 2006
Sugerencias, comentarios, preguntas, críticas? (ph0u arroba dc punto uba punto ar)