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 13, para luego permitir el desarrollo intensivo del proyecto final individual. Se estudian los conceptos básicos de un pipeline tradicional y de uno moderno, 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, de IA0 a IA5, 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 de aplicaciones de computación gráfica en el lenguaje escogido por cada uno. 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. Las actividades relacionadas con el tema de la semana son:
- 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). La presentación debe incluir tanto teoría como código
- 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.
- 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. Considerando el cronograma del curso, se sugiere 3h de trabajo individual entre martes y jueves y 6h de jueves a martes de la siguiente semana.
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. |
| 10% | incrementos semanales en el mapa mental | Se revisal al final del semestre los avances en el github del mapa mental individual |
| 10% | Soporte escrito en padlets para las presentaciones semanales | Cada semana se recopilan en un padlet las posibles presentaciones orales. Se califica un promedio de las 11 presentaciones |
| 10% | Presentación oral semanal | De las presentaciones en padlets se escogen semanalmente hasta 3 estudiantes para una presentación oral de no más de 20 minutos. Se toma en cuenta para la calificación la mayor nota en todas las presentaciones hechas durante el semestre. |
| 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, 2022. 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