Semestre 2026-20
- Descripción
- Objetivos
- Metodología
- Evaluación
- Calendario
- Conocimientos previos
- Bibliografía
- Proyectos
- Anteriores...
Descripción
Este curso estudia los conceptos, tecnologías y buenas prácticas de la computación visual interactiva, entendida como la generación de gráficas por computador en arquitecturas de hardware con GPUs modernas. El curso sigue la teoría del libro guía hasta la semana 12, para luego permitir el desarrollo intensivo del proyecto final individual. Se estudian los conceptos básicos de un pipeline tradicional como dispositivos de entrada-salida, fundamentos matemáticos, modelamiento 3D, APIs gráficos, formatos de almacenamiento, sistemas de coordenadas, transformadas, cámara, proyecciones, color, textura, iluminación, ray tracing, gaussian splatting, neural rendering, nuevos pipelines y aplicaciones, entre otros.
Sin desconocer el poder de la IA, pero soportado en el interés de no aumentar la deuda cognitiva del estudiante, el estudio de éstos conceptos se realiza desde los intereses y modelo conceptual de cada persona con el apoyo de herramientas de Inteligencia Artificial. Cada actividad y evaluación define el nivel de uso de la IA, según los parámetros establecidos en Uniandes para el uso de IA generativa.
Objetivos
El objetivo principal es que el estudiante sea capaz de entender y utilizar los conceptos de la computación visual interactiva en la generación de gráficas por computador en un lenguaje profesional relacionado al área de computación gráfica.
Los objetivos específicos están dirigidos a:
- Conocer y aplicar los conceptos básicos de generación de gráficas por computador.
- Entender ejemplos publicados en la web en el lenguaje escogido por cada uno, dentro del contexto de talleres. Sugerimos escoger C++, el lenguaje profesional en el que están hechos la mayoría de juegos AAA y el cual permite tener acceso a los pipelines de gráficas más avanzados.
- Conocer y aplicar los conceptos básicos de interacción con gráficas por computador.
Metodología
El curso se desarrollará a través de las siguientes actividades:
- Tema de la semana. El tema lo propone el profesor y se espera sea estudiado y apropiado por los participantes del curso. La presentación del profesor se refleja en las siguientes actviidades:
- Presentación del tema en clase (profesor, IA5)
- Lectura guía del tema (estudiante, IA0)
- Lectura del resultado del prompt exploratorio del tema (estudiante, IA0)
- Actualización del mapa mental individual (estudiante, IA1)
- Preparación y exposición de una presentación relacionada al tema (estudiante, IA5)
- Desarrollar talleres relacionados con las presentaciones (estudiante, IA5)
- Proponer preguntas relacionadas a cada taller (estudiante, IA0)
- Desarrollo y exposición de software relacionado con el tema (estudiante, IA5)
- Exámenes escritos (IA0). Se hacen dos exámenes escritos durante el semestre, solo con papel y lápiz. El tema son las lecturas semanales del libro guía.
- Opcionalmente, el estudiante puede pedir una revisión oral del mapa mental (estudiante, IA0). Esta revision oral se hace en la oficina del profesor, dura alrededor de 20 minutos y puede agregar hasta una unidad en la nota de cada examen.
- Proyecto final. Cada estudiante desarrolla un proyecto que use los conceptos del curso, explore sus intereses personales y demuestre el desarrollo semanal (estudiante, IA5)
Para desarrollar esta metodología, se espera que el estudiante asista a clase y además le dedique en total 9h de trabajo individual cada semana, aparte de las 3 horas de clase presencial. En el cronograma del curso se sugiere 3h de trabajo individual entre martes y jueves y 6h de jueves a martes de la siguiente semana, pero es solo una sugerencia.
Evaluación
Se aplican las reglas de la Universidad con respecto a asistencia a clase. Las notas del curso tienen los siguientes porcentajes:
| Porcentaje | Actividad(es) a evaluar | Método |
|---|---|---|
| 20% | Examen 1 | solo papel y lápiz. En clase. |
| 5% | Desarrollo de talleres relacionados a las tareas | Se califica como la suma de todos los talleres desarrollados dividido por 10. |
| 5% | Propuestas de preguntas sobre cada taller | Se califica como 5 si se entregan al menos 10 propuestas; o un porcentaje si se entregan menos. |
| 20% | Presentación oral sobre un tema del curso | Se toma la mayor nota de las obtenidas en diversas ocasiones. |
| 20% | Examen 2 | solo papel y lápiz. En clase. |
| 30% | Avances en software sobre el proyecto final | Se califica basado en una rúbrica donde la parte más significativa es una sustentación oral. |
Calendario global del curso
Conocimientos previos
Se espera que el estudiante haya visto el curso de estructuras de datos, y pueda aprender conceptos nuevos de un lenguaje de programación de bajo nivel como C++.
Bibliografía
En el programa del curso se incluyen URLs para cada uno de los temas del curso. La primera referencia a continuación es el libro guía, del cual se sugieren las lecturas. Usaremos además las siguientes referencias, disponibles en línea :
- Marschner, Steve, and Peter Shirley. Fundamentals of computer graphics. CRC press, 2021. Disponible en Uniandes en https://irus.uniandes.edu.co/permalink/57U_UDLA/16uh2ua/alma991005648473007681
- Kurt Akeley, James D. Foley, David F. Sklar, Morgan McGuire, John F. Hughes, Andries van Dam, Steven K. Feiner. Computer Graphics: principles and practice, 3rd Edition. Addison-Wesley. 2014. Disponible en: https://uniandes.primo.exlibrisgroup.com/permalink/57U_UDLA/1g0omtq/alma991005387095107681
- Gortler, Steven J. Foundations of 3D computer graphics. Disponible en: https://uniandes.primo.exlibrisgroup.com/discovery/fulldisplay?docid=alma991005285757307681&context=L&vid=57U_UDLA:UDLA&lang=es&search_scope=MyInst_and_CI&adaptor=Local%20Search%20Engine&tab=Todo&query=any,contains,computer%20graphics&facet=rtype,exclude,articles&facet=rtype,exclude,conference_proceedings&facet=rtype,exclude,magazinearticle&facet=rtype,exclude,book_chapters&offset=10
- Diligent Graphics. Disponible en: https://diligentgraphics.com
- Lippman, S. B., Lajoie, J., & Moo, B. E. (2013). C++ primer (Fifth edition.). Addison-Wesley. Disponible en: https://uniandes.primo.exlibrisgroup.com/permalink/57U_UDLA/1sib6to/alma991003740109707681
- Marschner, S., & Shirley, P. (2022). Fundamentals of computer graphics (Fifth edition.). CRC Press/Taylor and Francis Group. Disponible en: https://uniandes.primo.exlibrisgroup.com/permalink/57U_UDLA/1sib6to/alma991005648473007681
- Möller, Tomas; Haines, Eric. Real Time Rendering. 4a Edición. Disponible en https://uniandes.primo.exlibrisgroup.com/permalink/57U_UDLA/1sib6to/alma991004801929707681
- Dave Shreiner, Graham Sellers, John M. Kessenich, Bill M. Licea-Kane. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3, Eighth Edition. Addison-Wesley. 2013. Disponible en: https://uniandes.primo.exlibrisgroup.com/discovery/fulldisplay?docid=alma991005387358407681&context=L&vid=57U_UDLA:UDLA&lang=es&search_scope=MyInst_and_CI&adaptor=Local%20Search%20Engine&tab=Todo&query=any,contains,OpenGL%20programming%20guide
- Peter Shirley, Trevor David Black, Steve Hollasch (2018). Ray Tracing in One Weekend. Disponible en: https://raytracing.github.io/books/RayTracingInOneWeekend.html
- Vince, John. Mathematics for Computer Graphics, 5th edition. Springer, Londres. Disponible en: https://uniandes.primo.exlibrisgroup.com/permalink/57U_UDLA/1sib6to/alma991004893389707681
Proyectos Seleccionados