|
Bloque 5. Visualización interactiva.
Este bloque pretende complementar los trabajos ya descritos, mediante la generalización del uso de estructuras jerárquicas en la GPU, tanto para poder utilizar representaciones vectoriales de gráficos bidimensionales, lo que permitirá generar imágenes con gran detalle en forma independiente de la resolución y distancia de visualización, como para su aplicación a sistemas de luces complejas, resolviendo el problema del límite en la capacidad de las tarjetas gráficas para gestionar un número elevado de fuentes de luz. El segundo de estos objetivos se relaciona estrechamente con la visualización de entornos interiores y exteriores que cuenten con iluminación compleja, como puede ser el caso de la iluminación natural.
Tarea 1. Gráficos vectoriales como texturas: Esta tarea pretende solucionar el problema del visualizado de gráficos en texturas a distancias cortas respecto del tamaño del objeto de soporte. Tradicionalmente, el problema del aliasing introducido durante el visualizado de imágenes a grandes distancias se ha resuelto mediante técnicas de mipmapping, pero el problema de distancias cortas (o, lo que es lo mismo, un aumento grande) se ha resuelto mediante el uso de gráficos vectoriales (como los empleados por Adobe PDF o la tecnología de Macromedia Flash). El problema de esta tecnología es que su evaluación siempre ha sido compleja, realizándose normalmente en procesos en la CPU. En esta tarea se desarrollará un sistema eficiente y, a la vez, sencillo de evaluación de este tipo de gráficos en la GPU, basado en el uso combinado de estructuras de indexado (hash) con estructuras de árbol, lo que permitirá su cálculo a alta velocidad utilizando las etapas programables (fragment shaders) de las tarjetas gráficas actuales.
Tarea 2. Mapas de sombras vectoriales: Para el cálculo de sombras en Informática Gráfica existen dos grandes métodos: Los basados en volúmenes de sombras, y los basados en mapas de sombras. Los primeros, si bien dan sombras de gran exactitud, tienen el inconveniente de requerir muchos cálculos y un aumento considerable de la complejidad de la escena a calcular, ya que generan las sombras como las fronteras de los volúmenes calculados a partir de los objetos de la escena. Por el otro lado, los métodos basados en mapas de sombras utilizan una imagen generada desde la fuente de luz, para luego utilizar esta información en los cálculos correspondientes, pero tienen como contrapartida los problemas asociados a la las limitaciones de resolución de la imagen utilizada. Hasta ahora no ha existido ninguna solución que provea a los mapas de sombras de la precisión de los mapas de volúmenes, manteniendo el costo computacional. Esta tarea desarrollará, a partir de los resultados obtenidos en la tarea anterior, un nuevo algoritmo para el cálculo de sombras precisas, basado en la representación vectorial para texturas desarrollada en la tarea anterior. De esta forma, cada celda del mapa de sombras contará con las estructuras arriba mencionadas, que le permitirá determinar si un punto está en sombras o no de manera rápida y precisa. Dicha implementación aprovechará las características de programabilidad del hardware gráfico actual.
Tarea 3. Implementación de Lightcuts interactivos: esta tarea pretende realizar una implementación eficiente de la técnica de Lightcuts [Walter05], que permite representar un elevado número de fuentes de luz puntuales en forma jerárquica, utilizando representaciones simplificadas (nodos superiores del árbol) para puntos de la escena alejados del conjunto, y mejorando la aproximación a medida que estos puntos a iluminar así lo requiriesen a causa de factores geométricos, preceptuales, energéticos, etc. Se implementará una versión interactiva de esta técnica que permita la visualización y edición dinámica de escenas complejas. Algunas aplicaciones de esta técnica son la iluminación natural de entornos interiores (habitaciones) gracias al uso de luminarias complejas, así como la iluminación natural de casas y edificios (entornos exteriores) para su visualización interactiva.
|
||||||||