Visualización Computacional 2

Slides:



Advertisements
Presentaciones similares
Diseño y análisis de algoritmos
Advertisements

Desarrollo de Juegos de Video en 3D
Sistemas de Graficación
GRÁFICOS DE VECTORES Y GRÁFICOS RASTERIZADOS
Maximiliano Monterrubio Gutiérrez
Descartes 2.0 Edición de de escenas Escena Acceso al editor Doble clic dentro de la escena.
Ariel Brunetto Director Aquadize Studios
TRANSFORMACIONES GEOMÉTRICAS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
ILUMINACIÓN Un modelo de iluminación sirve para asignar un valor de iluminación a los puntos de la imagen. Se define una ecuación de iluminación. Lighting.
Momentos Daniel Bolaño Asenjo José Juan Corpas Martos
Modelado en 3D y Composición de Objetos
Procesamiento digital de Imágenes
Direcciones físicas y direcciones virtuales (lógicas)
Eliminación de Superficies Ocultas
Real Time Global Illumination for Dynamic scenes Alejandro Drago Cesar Villasana
Sombras en OpenGL Informática Gráfica– Ingeniería Informática.
Juan José Cortés Orozco. Antonio Muñoz Torres.
Procesamiento digital de Imágenes
Tecnicas De Programacion Francisco Del Rio Rodriguez
Dibujar en 3D: puntos, líneas y polígonos.
VECTORES VS PIXELES Por Drako.
Visualización Computacional de Datos I Graficando objetos 3D en el monitor.
FUNDAMENTOS DE LOS GRÁFICOS EN 3D
Estrategias de Optimización Visualización II – 2009 Ing. Juan P.D’Amato.
Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.
GRAFICOS 3D POR COMPUTADORA. La graficación por computadora es una de las áreas más importantes de las ciencias de la computación y su principal objetivo.
Dibujo y diseño en ingeniería
Ray Tracing. -La primera noción del Ray Tracing se remonta a Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando.
Rendering.
Despliegue de Volúmenes
Simplificación de Mallados Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela.
Cognitens-WLS400M Análisis. 2 Cognitens-WLS400M  Comprender la función del Análisis en el proceso de medición.  Revisar y practicar las diferentes herramientas.
Carlos Carrasco de Pedro Daniel Sanz Sanfructuoso
Obtención de la imagen 1. Representación y manipulación de la escena. 2. Definir la cámara y representarlo todo en su sistema de referencia. 3. Delimitación.
Alineamiento.
Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.
Mapeo de Texturas Capitulo 9 de Angel. Detalle de superficie Hasta ahora hemos visto como crear superficies uniformes planas o bicúbicas, y hemos animado.
TexturasTexturas Visualización Computacional II. Horarios (again…) LUNES 26/10: Aula 2 Facultad (19 hs.): Introducción MARTES 27/10: Aula 2 Facultad (19.
Jose María Buades Rubio Visibilidad en Escenas Complejas Entorno de Habitaciones Carretera y Circuitos de carreras.
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
MoMento S Grupo 33: Ignacio Ayllón Benito Félix A. Velázquez Salas.
Computación Gráfica I – CI4321
Una aproximación a la visión
Simulacion de sistemas dinamicos
Sombreado.
Iluminación Global: Mapa de Fotones
Procesamiento Digital de Imágenes
Parte I. Estructuras de Datos.
Proyectos fin de carrera
Rep.TexturasA. García-Alonso1 >> Representación
Laboratorio de Computación Grafica Universidad Central de Venezuela
Medición.
Geometría primitiva y Transformaciones
CONCEPTOS BASICOS DE GEOMETRIA.
Luciano Reyes Itzel Elvira
Ingrid Voss Aldo Gutiérrez Antonio Madrigal. Temas  Frustum Culling  Billboard  Sistemas de Partículas.
Jose María Buades Rubio Light Maps Iluminación mediante multitextura.
Graficación 2D Alumna: Yasmin Rosales Cruz
Taller de Fotografía Docente: Jaime Ocampo
PRESENTA: LUCIANO REYES ITZEL ELVIRA TRABAJO: UNIDAD 3.
Introducción a los TADs
Pixelación de imágenes avanzada usando el algoritmo slic
Generación Procedural de Terrenos en la GPU
Texturas.
Optica geométrica.
Rep.IluminaciónA. García-Alonso1 >> Representación
1 C OMPUTACIÓN A VANZADA PARA M ÚSICA POR O RDENADOR ALGORITHMS FOR COMPUTING GEOMETRIC MEASURES OF MELODIC SIMILARITY 1.
Rep.A. García-Alonso1 >> Representación
Rep.PoliedrosA. García-Alonso1 >> Representación
Transcripción de la presentación:

Visualización Computacional 2 Sombras Visualización Computacional 2

Horarios (again…) LUNES 26/10: Aula 2 Facultad (19 hs.): Introducción MARTES 27/10: Aula 2  Facultad  (19 hs.): Texturas MIERCOLES 28/10: Aula 2  Facultad  (19 hs.): Técnicas de iluminación avanzadas JUEVES 29/10: Aula 2 Facultad (19 hs.): Sombras  VIERNES 30/10: Aula 2 Facultad (19 hs.): Optimización LUNES 2/11: Aula 1 Facultad (18 hs.): Animación – Comportamiento Físico

Half Life 2 - Valve Software

Sombras - Resumen Introducción ¿Por qué usar sombras? Técnicas Fake Shadows Planar Shadows Projective Textures Shadow Mapping Soft Shadows & Hard Shadows Shadow Volumes Conclusiones

Sombras - Introducción 0: Si la luz es bloqueada en este punto Si= 1: Si la luz no es bloqueada en este punto Notar que las áreas que se encuentran en sombra (no influenciadas por ninguna luz) son iluminadas por la luz ambiental

Sombras - Introducción Sombra compuesta de dos regiones: Umbra Penumbra Umbra es la región sólida Luz completamente bloqueada Penumbra es la zona de transición Luz bloqueada parcialmente No ocurre con luces puntuales

Sombras - Introducción Soft Shadows Hard Shadows Hasenfratz et al. / Real-time Soft Shadows

Sombras - Introducción Un punto está en sombras si no es “visto” desde la posición de la luz. Los algoritmos de evaluación de sombra son similares a los algoritmos de determinación de vista. Cuando existen múltiples luces debo clasificar los polígonos para cada una. Igualmente, existen aproximaciones sin hacer testeo de visibilidad.

Sombras - ¿Por qué usar sombras? Ocultan defectos. Uso en condiciones climáticas y efectos especiales. Incrementan notablemente el realismo. Brindan información adicional de la escena.

Sombras - ¿Por qué usar sombras?

Sombras - ¿Por qué usar sombras? Posición y tamaño relativos a la escena

Sombras - ¿Por qué usar sombras? Información adicional del entorno

Sombras - ¿Por qué usar sombras? Información adicional del modelo

Sombras - Fake Shadows La forma más simple de crear una sombra: agregar un polígono debajo del objeto.

Sombras - Fake Shadows Ventajas: Desventajas: Complejidad: Constante Extremadamente simple. Desventajas: Técnica muy limitada. El piso debe ser plano. El objeto debe estar a cierta altura del piso. Sólo puede rotar en el eje Y. No es verdadera en cuanto a la forma del objeto. No es verdadera en cuanto a la dirección de la luz. No hará sombra más que en el piso. Complejidad: Constante

Sombras - Fake Shadows Pequeña mejora: usar escala negativa (misma idea que los fake de reflejo). La ventaja es que la sombra ahora tiene la forma del objeto. Uso de stencil buffer para cortar la proyección. Complejidad: Cant. Objetos glPushMatrix(); glScalef(1.0, -1.0, 1.0); drawDinosaur(); glPopMatrix(); drawFloor();

Stencil Buffer frame buffer Marcar los píxeles en una pasada de rendering para controlar actualizaciones en futuras pasadas. "For pixels en el frame buffer" → "For pixels marcados en el frame buffer" Se pueden especificar distintas operaciones: stencil test falla stencil test pasa & depth test falla stencil test pasa & depth test pasa depth buffer stencil buffer

Sombras - Planar Shadows Dibujar la geometría real y la geometría proyectada sobre los planos donde habrá sombra.

Sombras - Planar Shadows Dibujar planos(); For todos los planos begin aplicar transformacion de proyección; deshabilitar DEPTH_TEST; deshabilitar colores; dibujar Objeto 3d proyectado; End; Dibujar Objeto 3D();

Sombras - Planar Shadows

Sombras - Planar Shadows Ventajas: Proyección sobre distintos planos. La sombra refleja la situación de acuerdo a la rotación del objeto. La sombra cambia de acuerdo a la posición de la luz Desventajas: Tengo que dibujar el objeto tantas veces como planos. Los objetos no proyectan sombra ni sobre sí mismos ni sobre otros objetos. No es posible proyectar sombras en superficies curvas. Complejidad: Cant. Objetos * Cant. Planos

Sombras - Projective Shadows Surge como mejora a Planar Shadows: renderizar el objeto a una textura (o tenerla precalculada) y proyectar la textura. Render desde L Textura B/N Render Final

Sombras - Projective Shadows Ventajas: Las mismas que Planar Shadows. No se renderiza el objeto una vez por cada plano. Desventajas: Resolución. Se debe especificar occluder y receiver Limitación por la cantidad de unidades de texturas. Complejidad: MAX (Cant. Objetos, Cant. Planos)

Sombras - Shadow Mapping Utilización de textura con información de Z-Buffer. Dos pasadas: Calcular shadow map (renderizar desde el punto de la luz). Renderizar la escena chequeando si los puntos están o no en sombra. Foley et al. “Computer Graphics Principles and Practice”

Sombras - Shadow Mapping Tenemos el punto 3D (x,y,z)WS. ¿Cómo obtenemos su valor del Shadow Map? Rta: Se aplica al punto la matriz de proyección usada en la imagen generada desde el punto de vista de la luz. (x',y',zL) (x',y',z') LS (x,y,z)WS Obtenemos (x’,y’,z’)LS zL:=ShadowMap(x’,y’); Si zL<z’ entonces punto en sombra Sino punto en luz Foley et al. “Computer Graphics Principles and Practice”

Sombras - Shadow Mapping Ventajas: Los objetos proyectan sombra sobre sí mismos y sobre otros objetos. La técnica más rápida y directa. No se necesita conocimiento previo de la escena. Independiente del punto de vista. Desventajas: No sirve para luces omni-direccionales. Field of View. Dependencia de precisión del Z-Buffer. Aliasing del Shadow Map. Consumo de recursos (render target switch y uso de texturas) Complejidad: Cant. Objetos

Sombras - Soft Shadows Diversas técnicas de soft shadows pero alejadas de un frame rate aceptable. Nuevas técnicas orientadas hacia procesamiento de imágenes sobre el Shadow Map. Se intenta mejorar el aliasing y la calidad en técnicas como Shadow Mapping.

Sombras - Soft Shadows Pasos: Generar el shadow map. Guardar a un buffer de textura las partes de la escena que están en sombras después del algoritmo de comparación. Realizar procesamiento de Blur o Soften a la imagen guardada en el paso 2. Proyectar la textura procesada en el espacio de coordenadas de la escena en la pantalla.

Sombras - Soft Shadows Map Shadow Original Map Shadow Blur: 1 pasada 2 pasadas Map Shadow Original Map Shadow Blur: 1 pasada

Sombras - Shadow Volumes El cable proyecta sombra sobre el personaje. El personaje proyecta sombra sobre el piso.

Sombras - Shadow Volumes Representar explícitamente el volumen de la sombra en el espacio. Para cada polígono se construye una pirámide con la luz como vértice más alto. Se incluye un polígono para cortar el volumen. El test queda parecido a un test de clipping.

Sombras - Shadow Volumes “Abducted” Contraband Entertainment

Sombras - Shadow Volumes Geometría Visible Escena compleja con sombras Geometría Shadow Volume “Abducted”, Contraband Entertainment

Sombras - Shadow Volumes Geometría Visible Escena con múltiples fuentes de luz Geometría Shadow Volume “Abducted” Contraband Entertainment

Sombras - Shadow Volumes Si un punto está dentro del volumen generado a partir de una luz Li ese punto no recibe contribución de esa luz. Costo ~ #polys * #luces

Sombras - Shadow Volumes Tirar un rayo desde el punto de vista al punto. Incrementar/decrementar un contador cada vez que se intersecta un polígono del shadow volume (usando z buffer) Si el contador es <> 0 el punto está en sombra. +1 -1

Sombras - Shadow Volumes Determinar la silueta del objeto que proyectará sombra. Extruír la silueta desde el punto de vista de la luz para construir el Shadow Volume. Algoritmo de conteo Zpass o Zfail.

Sombras - Shadow Volumes Silueta del Objeto generador (Ocludder) Luz Shadow volume (extensión infinita) Un shadow volume es un volumen definido por la luz y la silueta del objeto generador de sombra.

Sombras - Shadow Volumes (Zpass Caso 1) Luz Ocludder + + + - - - Objeto fuera de la sombra Espectador Contador Shadow Volume = +1+1+1-1-1-1 = 0

Sombras - Shadow Volumes (Zpass Caso 2) Luz Ocludder + + + - Objeto en sombra Espectador Contador Shadow Volume = +1+1+1-1 = 2

Sombras - Shadow Volumes (Zpass Caso 3) Luz Occluder Objeto fuera de la sombra Espectador Contador Shadow Volume = 0 (ninguna pasada zPass)

Sombras - Shadow Volumes (Problema zNear) Perdemos esta intersección (problemas en el conteo) zFar Clip Plane View Frustum zNear Clip Plane

Sombras - Shadow Volumes (Error Zpass) Luz Ocludder + - Objeto en sombra Espectador Contador Shadow Volume = +1-1 = 0

Sombras - Shadow Volumes (Error Zpass) Tres posibles soluciones: j Reacomodar los contadores de acuerdo a los volúmenes y la posición de la vista. k Clipping de los shadow volumes al View Frustum. l Usar Z-Fail.

Sombras - Shadow Volumes (Solución Reacomodar contadores) Ajustar el valor inicial del contador. MUY COSTOSO +1 +1

Sombras - Shadow Volumes (Solución Clipping de SV) Hacer clipping de los shadow volumes con el frustum de vista e incluir estos polígonos en el conteo. Difícil reconstrucción

Sombras - Shadow Volumes (Solución ZFail) Luz Ocludder + + Objeto en sombra Espectador Contador Shadow Volume = +1+1 = 2

Sombras - Shadow Volumes (Zfail) Luz Ocludder Objeto fuera de la sombra Espectador Contador Shadow Volume = 0 (ninguna pasada zFail)

Sombras - Shadow Volumes (Zfail) Luz Ocludder - - - + + + Objeto fuera de la sombra Espectador Contador Shadow Volume = -1-1-1+1+1+1 = 0

Sombras - Shadow Volumes Ventajas: La proyección de sombras sobre sí mismos en los objetos es automática. Pocos problemas de aliasing y resolución. Sirve para luces omni-direccionales. Desventajas: Imposible hacer soft shadows. Consume fillrate. Se necesita calcular la silueta (costo CPU). Complejidad: Cant. Objetos*2 (si no tenemos doble stencil)

Sombras - Zpass y ZFail Nota: Juegos tipo Diablo: Zpass Zpass Ventajas: No requiere Volumes con bordes. Más eficiente (Oclussion Culling). Zfail Ventajas: No tiene problemas con plano zNear. No tiene problemas con posición de espectador. Nota: Juegos tipo Diablo: Zpass Juegos tipo Doom3: Zfail

Sombras - Shadow Volumes Sería imposible utilizar Shadow Volumes con la reja! La sombra de la reja aparece en el camión y el piso utilizando Shadow Maps. “Fuel” Firetoad Software

Sombras - Conclusiones La mayoría son algoritmos costosos. Requieren conocimientos de procesamiento de imágenes y de geometría no triviales. No existe la técnica “perfecta”. La mejor decisión es la combinación de técnicas de acuerdo al tipo de escena.