CC3501�Introducción
Roberto Matta, Comment une conscience se fait univers (peut être), 1992
Nuestro curso
Propósito: introducir a les estudiantes en la disciplina de computación gráfica y modelamiento.
Al término del curso, se espera que les estudiantes modelen, solucionen y visualicen computacionalmente problemas aplicados que involucren datos, geometría y escenas complejas en 2 y 3 dimensiones.
Objetivo
Simular un mundo usando computadoras
Especial énfasis en modelos físicos para añadir realismo
Algunos temas:
¿Qué esperan de este curso? 👀
Definición
Una definición simple y directa es “generación de imágenes desde escenas computacionales”��Donde “escena computacional” es una representación geométrica 2D o 3D.
Y el proceso de “generación de imagen” se llama rendering. Existen múltiples paradigmas de rendering.
En este curso nos enfocaremos en el rendering en tiempo real.
Render
Escena
Fuente: Computer Graphics, Wikipedia
Videojuegos
Probablemente los videojuegos son la aplicación de rendering en tiempo real más grande en términos de personas que la utilizan y también en términos de mercado.
En Chile hay empresas que desarrollan videojuegos, principalmente para el mercado internacional.
Realismo en videojuegos
Los juegos actuales cuentan con motores de rendering y de simulación avanzados.
Parte de la computación gráfica es hacernos creer que son totalmente realistas.
Sin embargo, mucho del trabajo en computación gráfica no es realizar la simulación como tal, sino como aparentar el realismo a través de modelos más simples o de atajos que nos permitan alcanzar un buen desempeño en tiempo real.
Estilo
En este juego no se busca el realismo visual, sino un estilo gráfico fiel a la estética del Ukyo-e japonés.
Animación
La industria cinematográfica genera en promedio 800 millones de dólares por película.
Además de las películas, mucha animación que era tradicional se ha convertido a 3D pero imitando el estilo 2D.
Toy Story
La primera película animada generada por computador en 1995.
Ustedes no habían nacido para ese entonces :o
¡Probablemente sus computadoras son más potentes que las utilizadas para trabajar en la película!
Rendering No Foto-realista
Este render de una tetera aparenta ser de dibujo animado.
¿Cómo lo hace? Utilizando la técnica llamada cel-shading que se basa en una discretización de los vectores normales de una superficie, y del producto punto entre el vector de la cámara de la escena y las normales de la superficie que se está graficando.
Medicina
CAD
Los sistemas de CAD (Diseño Asistido por Computadora) son utilizados para fabricar piezas críticas, diseñar infraestructura, vehículos, arquitectura, etc.
SIGGRAPH 2023
Special Interest Group in Computer Graphics es una conferencia anual que reúne los avances más importantes en gráfica y simulación.
SIGGRAPH 2023
La conferencia más importante del área. Se hace todos los años.
Simulación
IoTwins es un proyecto donde el peso del proyecto estaba en la interacción de los agentes de la simulación más que en el rendering, a pesar de que trabajamos con la arquitectura del estadio del FC Barcelona.
Visualización Científica
Esta área de aplicación busca representar fielmente el comportamiento de un fenómeno. Lo realista es la abstracción.
Visualización Interactiva
Otra área de aplicación es la de visualización de datos urbanos. Afortunadamente estos datos son descargables de manera abierta, por lo que podemos experimentar :)
Un simulador y visualizador de clima y contaminación puede usar estos datos como insumo.
https://observablehq.com/@dmylian/displaying-3d-buildings-using-osm-data-and-deck-gl-viz-engin
Otros demos: https://deck.gl/examples/mapbox/
¿Cómo hacemos todo esto?
Utilizaremos principalmente el lenguaje de programación Python y la biblioteca pyglet.
Algunas personas ya conocen Godot Engine. Lo pueden usar en la tarea 3.
En términos conceptuales, utilizaremos mucha álgebra con matrices y ecuaciones diferenciales.
El repositorio oficial del curso es:
https://github.com/zorzalerrante/cc3501-computer-graphics
Próxima clase: �Python para CG
¿Dudas? ¿Comentarios? ¿Ideas?