A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Computación Visual Interactiva, 2019-2 | ||||||||||||||||||||||||||
2 | Fecha | Tema | Conceptos básicos del tema | Temas extra relacionados | Ejercicio | Ejemplos | |||||||||||||||||||||
3 | 0 | 8/5/2019 | Motivación, Esquema de trabajo, | Contenido, ¿Porqué CVI?, | Modelo computador con GPU, Ambiente de programación, Cómo buscar programas y qué ver en ellos?, Ejemplos complejos: displays no convencionales, Lazy eye, Spatial Augmented Reality, | ||||||||||||||||||||||
4 | 1 | 8/8/2019 | Introducción, Modelo, | Pipeline, Shaders, Tipos de shaders, | Otros apis: metal; vulkan; directx; optix. Versiones. Otros pipelines, Partes de un programa WebGL, Historia de APIs gráficos, Diferencias entre el proyecto standalone (i.e. fuentes de github) y lo que se escribe en JSFiddle, Otros modelos: CSG; Processing; Three.js... por ej., Extensiones para VR, cache misses en GPU, GPGPU, | Ejemplo de caja rotando, cambiando el ejemplo del cubo a un rectángulo de 2 de alto, 1 de ancho y 1 de profundidad | Ejemplo de cubo rotando, | ||||||||||||||||||||
5 | 8/12/2019 | Ejercicio, Revisión Código, asignación revisiones siguientes | https://paveldogreat.github.io/WebGL-Fluid-Simulation/ | ||||||||||||||||||||||||
6 | 2 | 8/15/2019 | Representación geometrica | Representacion por la frontera. Puntos; vectores; triángulos, Cómo armar un modelo, Triángulo y su orientación (CCW), Eficiencia: triangle strips; fans, Arreglos de datos para webgl, | Modelo del mundo vs estilo de visualización (i.e. fotorealista; cartoonish; NPR) vs primitivas, Geometry loader (ó cómo leer un mesh), Ver diferencias de representacion en ejemplos, Objetos básicos, como crear un mesh, Subdivision surfaces, culling, display lists and memory management, LOD, Representación discreta vs continua (implicit surfaces; NURBS; ...), | Cree una vasija de base cuadrada y boca circular | |||||||||||||||||||||
7 | 8/19/2019 | Dia Festivo | |||||||||||||||||||||||||
8 | 3 | 8/22/2019 | Repaso conceptos | ||||||||||||||||||||||||
9 | 8/26/2019 | Ejercicio, Revisión Código | Nr.robles | ||||||||||||||||||||||||
10 | 4 | 8/29/2019 | Transformadas | Fórmulas para traslación; rotación; escalamiento, Coordenadas homogéneas, Concatenación de operaciones en coordenadas homogéneas, Grafo de escena, | Funciones de transformadas en OpenGL, Funciones de composición de matrices en OpenGL (Push; Pop), Otras operaciones: shearing ..., Otros sistemas de coordenadas, Transformadas de colores, | Armar un helicóptero con figuras básicas y moverlo | Un móvil para niños, | ||||||||||||||||||||
11 | 9/2/2019 | Ejercicio, Revisión Código | Vivian Gómez | ||||||||||||||||||||||||
12 | 5 | 9/5/2019 | Sistemas de coordenadas | Los diversos sistemas de coordenadas en OpenGL, Conversión entre sistemas de coordenadas, Aspect ratio, Right handed vs left handed, Representación de posición. Repr. de orientación: quaternions,Coordenadas de textura, | Otros sistemas: polares; geoespaciales, Modelos de color (RGB; CYK; ...), Modelos de pantalla; impresión, colores por índices, | Mover el helicóptero alrededor de un objeto a una altura fija. El helicóptero siempre mira al centro | Crear objetos 3D donde se de click, | ||||||||||||||||||||
13 | 9/9/2019 | Ejercicio, Revisión Código | Alejandro gracia | ||||||||||||||||||||||||
14 | 6 | 9/12/2019 | Cámara y proyecciones | Modelo sencillo de cámara, Las cámaras desde el cine (tipos de toma), Efectos de cámara, | API: LookAt; glPerspective, glOrtho, Frustum culling, Integración de operaciones de cámara a coordenadas homogéneas, Sistemas de cámaras (i.e. activas e inactivas), Agrandar el objeto vs cambiar parámetros de cámara, First person camera, Third person camera, safe zone, Otros tipos de perspectiva, Cámaras estéreo (pairs), Multiplayer cameras, Motion blur, Motion constraints for cameras, Third Person: Behind; over the shoulder; visible feet; far distance (vehicles); stationary, Camera commands (i.e. move; turn; ...), | Definir 3 vistas para el anterior ejemplo: vista desde el helicóptero, vista superior, y una vista que permita ver toda la escena. Poder cambiár entre ellas y/o verlas simultáneamente | Cámara que cambia de 1a a 3a a long shot; revisando coordenadas de la escena. Cambio de tipo de perspectiva, | ||||||||||||||||||||
15 | 9/16/2019 | Ejercicio, Revisión Código | |||||||||||||||||||||||||
16 | 7 | 9/19/2019 | Animación e interpolación | Animation mainloop, lerp, slerp, interpolación de rotación, seguimiento de rutas, suavizado, Bezier, NURBs, control de velocidad, ease in/ease out, | Bezier.js, verb,Transitions (interpolation; jump cuts; wipes; fades), Algo de historia: Las primeras animaciones, disney multiplane camera, 2d production pipeline, 3d production pipeline, más información (Computer Animation. Algorithms and Techniques), interpolación de cámara, Controles de cámara (i.e. orbitar), keyframes, animación de objetos articulados, lenguajes de animación, formatos de archivo para animación, warping, deformations, morphing, forward kinematics, inverse kinematics, objetos no deformables y deformables, animación de plantas (L-systems), animación de agua, animación de gases (nubes), mpeg-4 facial animation parameters, interpolación en GPU, Más info sobre animación, | Cargar curvas; mostrar objetos no simétricos siguiendo las curvas (puede ser el helicóptero, si no es simétrico) | Cargar curvas; mostrar objetos no simétricos siguiendo las curvas, | ||||||||||||||||||||
17 | 9/23/2019 | Ejercicio, Revisión Código | Juan diego correa, Tatiana huertas | ||||||||||||||||||||||||
18 | 8 | 9/26/2019 | Dia del Estudiante | ||||||||||||||||||||||||
19 | RECESO | ||||||||||||||||||||||||||
20 | 10/7/2019 | Descripción proyecto final | |||||||||||||||||||||||||
21 | 9 | 10/10/2019 | Texturas | Racionalidad y usos de texturas, Modelo general: coordenadas de textura; asignación a vertices; tamaño de textura, wrapping de texturas, multitexturing, Skybox, | Modelo de texturas específico a WebGL, Operaciones de textura: clamp; repetir..., Texture filtering, mipmapping, moire patterns, displacement mapping (ó cómo codificar información en texturas), procedural generation of textures, 3D Textures, volumen rendering, marching cubes, | Asociar texturas a primitivas (plano, cilindro, cono, esfera) y animar las primitivas. | Escena con latas de coca cola; Hershey's kisses y balones de futbol; orbitando | ||||||||||||||||||||
22 | 10/14/2019 | Dia Festivo | |||||||||||||||||||||||||
23 | 10 | 10/17/2019 | Iluminación | Modelo general de iluminación, tipos de luces: punto; direccional; spotlight, modelo de luz reflejada: ambiente; difuso; especular, transformadas de vectores normales: inverse transpose (en CPU!), Gouraud model, Phong model; half vector, Parámetros de una luz, Parámetros de un material, luces y shaders (detalles de normales en el pixel shader), | shaders para color por vértice, shaders para color por fragmento, Implicaciones de teselación en iluminación, Global Illumination, deferred shading; g-buffer, bump mapping, normal mapping, environment map y luces, | Escena para iluminación y sombras, parte 1: definir escena, luces fija y móvil, y el sol. | |||||||||||||||||||||
24 | 10/21/2019 | Ejercicio, Revisión Código | Santiago munera | ||||||||||||||||||||||||
25 | 11 | 10/24/2019 | Sombras | Resumen del algoritmo para sombras, | Salvar un buffer, extensiones específicas de OpenGL, librería para shadows en webgl, Implicaciones de teselación en sombras, Soft shadows, Volumetric shadows, otros algoritmos para shadows, | Escena para iluminación y sombras, parte 2: Agregar sombras | Una escena con sombras | ||||||||||||||||||||
26 | |||||||||||||||||||||||||||
27 | 10/28/2019 | Ejercicio, Revisión Código | |||||||||||||||||||||||||
28 | 12 | 10/31/2019 | (Mision Paz, Facebook) | ||||||||||||||||||||||||
29 | 11/04/2019 | Dia Festivo | |||||||||||||||||||||||||
30 | 13 | 11/7/2019 | RTR1 | Algoritmo fundamental para ray tracing, ray tracing y muestreo, Real time ray tracing, Modelo de programación para RTR, | Raytracing en WebGL, Nuevo modelo para Real Time Ray Tracing, | Ejemplo de ray tracing en OptiX | |||||||||||||||||||||
31 | 11/11/2019 | Dia Festivo | |||||||||||||||||||||||||
32 | 14 | 11/14/2019 | RTR2 | RTR y manejo de memoria, | |||||||||||||||||||||||
33 | 11/18/2019 | Ejercicio, Revisión Código | |||||||||||||||||||||||||
34 | 15 | 11/21/2019 | RTR3 | Programas para RTR, | |||||||||||||||||||||||
35 | 11/25/2019 | Ejercicio, Revisión Código | |||||||||||||||||||||||||
36 | 16 | 11/28/2019 | Dudas sobre Proyecto | ||||||||||||||||||||||||
37 | |||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||
41 | Detalle de los temas, en lista | ||||||||||||||||||||||||||
42 | |||||||||||||||||||||||||||
43 | Contenido | ||||||||||||||||||||||||||
44 | ¿Porqué CVI? | ||||||||||||||||||||||||||
45 | Modelo computador con GPU | ||||||||||||||||||||||||||
46 | Ambiente de programación | ||||||||||||||||||||||||||
47 | Cómo buscar programas y qué ver en ellos? | ||||||||||||||||||||||||||
48 | Ejemplos complejos: displays no convencionales | ||||||||||||||||||||||||||
49 | Lazy eye | ||||||||||||||||||||||||||
50 | Spatial Augmented Reality | ||||||||||||||||||||||||||
51 | Pipeline | ||||||||||||||||||||||||||
52 | Shaders | ||||||||||||||||||||||||||
53 | Tipos de shaders | ||||||||||||||||||||||||||
54 | Otros apis: metal; vulkan; directx; optix. Versiones. Otros pipelines | ||||||||||||||||||||||||||
55 | Partes de un programa WebGL | ||||||||||||||||||||||||||
56 | Historia de APIs gráficos | ||||||||||||||||||||||||||
57 | Diferencias entre el proyecto standalone (i.e. fuentes de github) y lo que se escribe en JSFiddle | ||||||||||||||||||||||||||
58 | Otros modelos: CSG; Processing; Three.js... por ej. | ||||||||||||||||||||||||||
59 | Extensiones para VR | ||||||||||||||||||||||||||
60 | cache misses en GPU | ||||||||||||||||||||||||||
61 | GPGPU | ||||||||||||||||||||||||||
62 | Representacion por la frontera. Puntos; vectores; triángulos | ||||||||||||||||||||||||||
63 | Cómo armar un modelo | ||||||||||||||||||||||||||
64 | Triángulo y su orientación (CCW) | ||||||||||||||||||||||||||
65 | Eficiencia: triangle strips; fans | ||||||||||||||||||||||||||
66 | Arreglos de datos para webgl | ||||||||||||||||||||||||||
67 | Modelo del mundo vs estilo de visualización (i.e. fotorealista; cartoonish; NPR) vs primitivas | ||||||||||||||||||||||||||
68 | Geometry loader (ó cómo leer un mesh) | ||||||||||||||||||||||||||
69 | Ver diferencias de representacion en ejemplos | ||||||||||||||||||||||||||
70 | Objetos básicos | ||||||||||||||||||||||||||
71 | como crear un mesh | ||||||||||||||||||||||||||
72 | Subdivision surfaces | ||||||||||||||||||||||||||
73 | culling | ||||||||||||||||||||||||||
74 | display lists and memory management | ||||||||||||||||||||||||||
75 | LOD | ||||||||||||||||||||||||||
76 | Representación discreta vs continua (implicit surfaces; NURBS; ...) | ||||||||||||||||||||||||||
77 | Fórmulas para traslación; rotación; escalamiento | ||||||||||||||||||||||||||
78 | Coordenadas homogéneas | ||||||||||||||||||||||||||
79 | Concatenación de operaciones en coordenadas homogéneas | ||||||||||||||||||||||||||
80 | Grafo de escena | ||||||||||||||||||||||||||
81 | Funciones de transformadas en OpenGL | ||||||||||||||||||||||||||
82 | Funciones de composición de matrices en OpenGL (Push; Pop) | ||||||||||||||||||||||||||
83 | Otras operaciones: shearing ... | ||||||||||||||||||||||||||
84 | Otros sistemas de coordenadas | ||||||||||||||||||||||||||
85 | Transformadas de colores | ||||||||||||||||||||||||||
86 | Los diversos sistemas de coordenadas en OpenGL | ||||||||||||||||||||||||||
87 | Conversión entre sistemas de coordenadas | ||||||||||||||||||||||||||
88 | Aspect ratio | ||||||||||||||||||||||||||
89 | Right handed vs left handed | ||||||||||||||||||||||||||
90 | Representación de posición. Repr. de orientación: quaternions | ||||||||||||||||||||||||||
91 | Coordenadas de textura | ||||||||||||||||||||||||||
92 | Otros sistemas: polares; geoespaciales | ||||||||||||||||||||||||||
93 | Modelos de color (RGB; CYK; ...) | ||||||||||||||||||||||||||
94 | Modelos de pantalla; impresión | ||||||||||||||||||||||||||
95 | colores por índices | ||||||||||||||||||||||||||
96 | Modelo sencillo de cámara | ||||||||||||||||||||||||||
97 | Las cámaras desde el cine (tipos de toma) | ||||||||||||||||||||||||||
98 | Efectos de cámara | ||||||||||||||||||||||||||
99 | API: LookAt; glPerspective | ||||||||||||||||||||||||||
100 | glOrtho |