Download Descargar
Document related concepts
no text concepts found
Transcript
Visualización Computacional II Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. D’Amato: jpdamato@exa.unicen.edu.ar Ing. Cristian García Bauza: crgarcia@exa.unicen.edu.ar Edificio PLADEMA Logística (o como va a ser la cosa…) Seis clases teóricas repartidas entre esta semana y la que viene. Dos prácticas (a confirmar) para explicación de conceptos (OpenGL) y uso de tutoriales. Tres prácticas adicionales Forma de evaluación: Cursada y Final con un trabajo. Una entrega a corto plazo (antes de fin de año) y entrega final posterior. http://www.exa.unicen.edu.ar/catedras/visdat2/index.html Horarios y Lugares Teórica: Martes 21/10: Miércoles 22/10: Viernes 24/10: Lunes 27/10: Martes 28/10: Miércoles 29/10: Aula 2 (Facultad) Aula 2 (Facultad) Aula 1 (Facultad) Aula 3 (Facultad) Aula 2 (Facultad) A confirmar 19-22 hs. 19-21 hs. 18-21 hs. 19-22 hs. 19-22 hs. Información Bibliografía: Foley, van Dam, Feiner, Hughes “Computer Graphics: Principles and Practice”. Woo, Neider, Davis, Shreiner: “OpenGL Programming Guide”. Alan Watt “3D Computer Graphics”. IEEE Computer Graphics an applications. Objetivo Idea: Entender los principios y metodologías para lograr efectos especiales en aplicaciones 3D. Resumen de la materia Iluminación y transformaciones. Texturas. Raycasting, Raytracing y Radiosity. Sombras. Animación y comportamiento físico. Optimizaciones. Transformaciones Las transformaciones se aplican sobre los puntos que definen el objeto Pi P1 P2 Pi = (px, py) Transformaciones Simples Escala isotrópica Pi = (px, py) S= sx 0 0 sy Pi = S.Pi Transformaciones Simples Traslación dy dx Pi = Pi + D Pi = (px, py) D = (dx, dy) Transformaciones Simples Pi = (px, py) Rotación cos -sin R = sin cos Pi = R.Pi Como representar las transformaciones? x' = ax + by + c y' = dx + ey + f x' = y' p' = a b d e Mp x c + y f + t Coordenadas homogeneas Se agrega una dimensión extra en 2D, se usa 3 x 3 matrices en 3D, se usa 4 x 4 matrices Cada punto tiene entonces un valor extra, w a x' e y' = i z' m w' p' = b c d f g h j k l n o p Mp x y z w Pasar a coordenadas homogeneas x' = ax + by + c y' = dx + ey + f Forma Afín x' = y' p' = a b d e Mp Forma Homogénea x c + y f + t x' = y‘ 1 p' = a b c d e f 0 0 1 Mp x y 1 Traslación (tx, ty, tz) Por que utilizar coordenadas homogéneas? Porque ahora las traslaciones se expresan como matriz! x' y' z' 10 = 1 0 0 0 0 1 0 0 0 tx 0 ty 1 tz 0 1 x y z 1 Scale(s,s,s) Escala (sx, sy, sz) p' y p Isotrópica (uniforme) scaling: sx = sy = sz x' y' z' 1 sx 0 = 0 0 q q' x 0 sy 0 0 0 0 sz 0 0 0 0 1 x y z 1 ZRotate(θ) Rotación y p' θ Sobre eje z p x z x' y' z' 1 = cos θ -sin θ sin θ cos θ 0 0 0 0 0 0 1 0 0 0 0 1 x y z 1 Rotación General x' y' z' 1 = r11 r21 r31 0 r12 r22 r32 0 V’ = R . V r13 r23 r33 0 0 0 0 1 x y z 1 Proyección en perspectiva x' y' = z' w’ 1 0 0 0 0 1 0 0 0 0 1 1/d V’ = P. R . V 0 0 0 0 x y z 1 Necesidad de un modelo de iluminación Difusor perfecto Asumimos que la superficie refleja igual en todas las direcciones. Ejemplo: tiza, arcilla, algunas pinturas I R = I.Kr G = I.Kg B = I.Kb Superficie Cantidad de luz recibida I0 n n I = I0.cos n R = I0.cos .Kr G = I0.cos .Kg B = I0.cos .Kb Surface I0 Reflejos Reflexión ocurre solo en la dirección especular. Depende de la posición relativa de la fuente de luz y el punto de vista n r l Surface Reflectores no ideales Materiales reales no son como espejos. Brillos no son puntuales sino borrosos Reflectores no ideales Modelo empírico simple: Se supone que la luz se reflejará en la dirección del rayo ideal. Sin embargo, debido a imperfecciones microscópicas de la superficie, algunos rayos reflejados se apartarán un poco de la dirección ideal. El modelo Phong Parámetros I = I0.Ks.cosq ks: coeficiente reflexión especular q : exponente reflexión especular n r Cámara L V Surface El modelo Phong Efecto del coeficiente q Cálculo de la dirección especular r L 2 cos n r 2(n L)n L n (V.r)q) R = I0.((1-Ks).Kr. L.n + Ks. G = I0.((1-Ks).Kg. L.n + Ks. (V.r)q) B = I0.((1-Ks).Kb. L.n + Ks. (V.r)q) r r Surface L Modelo de iluminación simple R =Ia.Kr + I0.((1-Ks).Kr. L.n + Ks. (V.r)q) G = Ia.Kg + I0.((1-Ks).Kg. L.n + Ks. (V.r)q) B = Ia.Kb + I0.((1-Ks).Kb. L.n + Ks. (V.r)q) Surface Modelos de iluminación (resumen) R = Ia.Kr + Σ Ii.((1-Ks).Kr. Li.n + Ks. (V.ri)q) G = Ia.Kg + Σ Ii.((1-Ks).Kg. Li.n + Ks. (V.ri)q) B = Ia.Kb + Σ Ii.((1-Ks).Kb. Li.n + Ks. (V.ri)q) Propiedades del cuerpo Kr, Kg, Kb Ks, q V r n Surface L Intensidad de la luz Decae como 1/r2 Misma energía en todas las direcciones En realidad se usa 1/r Modelo de iluminación simple Flat shading Gourard shading Gourard shading n1 , n2 , n3 Ir1 , Ig1 , Ib1 Ir2 , Ig2 , Ib2 Ir3 , Ig3 , Ib3 3 A2 A1 A3 Irpixel= (Ir1.A1+Ir2.A2+Ir3.A3)/A 1 2 Phong shading n1 , n2 , n3 npixel Ir , Ig , Ib Modelo de iluminación simple Modelo de iluminación simple Que falta tener en cuenta? Para obtener imágenes realistas Texturas Sombras Transparencias Reflexiones Refracciones Fuentes no puntuales Iluminación proveniente de otros objetos Resumen - Texturas •Por qué usar texturas •Conceptos básicos •Mapeo y Tiling •Filtros y Mipmapping •Lightmaps y efectos. •Environment Mapping Resumen - Sombras •Fake shadows •Planar & Projective •Shadow Mapping •Shadow volumes Transparencias Refracción Reflexiones Ray Tracing I = Ilocal + Ireflejada + Irefractada Sombras difusas Radiosity Que falta tener en cuenta? Para lograr realidad virtual Inmersión Comportamientos realistas Matrix Efectos físicos Efectos físicos