Aplicación de las unidades de procesamiento gráfico en el diseño e implementación de sistemas de ray tracing

Tesis doctoral de Roberto Torres De Alba

La obtención de imágenes que sean indistinguibles de una fotografía es uno de los objetivos de la informática gráfica. Los algoritmos de ray tracing, que simulan el comportamiento de la luz trazando rayos a través de una escena tridimensional, son los que obtienen las imágenes con mayor calidad. Sin embargo, se tratan de algoritmos lentos debido a la gran cantidad de rayos que se necesitan trazar para renderizar imágenes con buena calidad. una operación común en los algoritmos de ray tracing consiste en encontrar el primer objeto de la escena intersecado por cada rayo. Para realizar esta tarea más eficientemente, se han desarrollado estructuras de datos que organizan la escena. Estas estructuras reciben el nombre de estructuras de aceleración. las unidades de procesamiento gráfico (o gpus) son un hardware que fue inicialmente diseñado para implementar el algoritmo de la tubería gráfica. Con el tiempo, ha evolucionado hasta convertirse en la actualidad en un hardware paralelo completamente programable. los algoritmos de ray tracing son altamente paralelos debido a que los rayos trazados son independientes entre sí. Este hecho es la principal razón para usar las gpus como hardware sobre el que implementar el ray tracing. Desafortunadamente, una implementación directa no saca el máximo partido de las gpus. En esta tesis proponemos tres modificaciones de este algoritmo. en primer lugar, hemos implementado un algoritmo de recorrido sin pila de una bvh hilvanada. En este recorrido, grupos de rayos, llamados paquetes, recorren juntos la estructura de aceleración. Los rayos de cada paquete colaboran cada vez que leen datos de memoria, lo que aumenta la eficiencia de estos accesos. En segundo lugar, hemos desarrollado un nuevo algoritmo de recorrido de una estructura de aceleración jerárquica. El objetivo de este recorrido consiste en mejorar el rendimiento de los rayos que son geométricamente muy diferentes, por medio de un recorrido secuencial de ciertos subárboles de la estructura. En tercer lugar, hemos modificado la forma en que se generan los rayos para que las lecturas de memoria sean más eficientes. Esta nueva generación permite trazar más rayos en el mismo tiempo, mejorando la calidad de las imágenes resultantes. la forma en que se construye la estructura de aceleración a partir de la escena influye en el número de nodos que necesita recorrer cada rayo, lo que determina el rendimiento global de la aplicación. El algoritmo de construcción usado actualmente está basado en la heurística del área de la superficie (o sah). Nosotros proponemos varias modificaciones de esta heurística que se especializa sobre un conjunto de rayos, lo que mejora la eficiencia de la estructura cuando los rayos exploran la escena. en lo que respecta a la programación de las gpus, hemos realizado una adaptación a este hardware del algoritmo de dijkstra, que resuelve el problema del camino más corto desde un nodo hasta todos los demás. Nosotros hemos analizado el rendimiento de un algoritmo paralelo consistente en manejar paralelamente todos los nodos que tienen la misma estimación mínima. Este algoritmo paralelo obtiene mejor rendimiento que el clásico secuencial en cpu. desde el punto de vista del programador, una aplicación se puede descomponer en una serie de operaciones sencillas, conocidas como primitivas. Una de estas primitivas es la llamada primitiva de reducción, que aplica una operación binaria a todos los elementos de un array. Nosotros hemos analizado el comportamiento en gpu de tres implementaciones de esta primitiva en sus versiones segmentada y no segmentada. Hemos llegado a la conclusión de que no existe una implementación que obtenga el mejor rendimiento en cualquier situación para la versión segmentada, ya que depende de la distribución de los segmentos en la entrada. Además, hemos propuesto y probado dos optimizaciones que aceleran el rendimiento del mejor algoritmo conocido hasta entonces para la versión no segmentada.

 

Datos académicos de la tesis doctoral «Aplicación de las unidades de procesamiento gráfico en el diseño e implementación de sistemas de ray tracing«

  • Título de la tesis:  Aplicación de las unidades de procesamiento gráfico en el diseño e implementación de sistemas de ray tracing
  • Autor:  Roberto Torres De Alba
  • Universidad:  Complutense de Madrid
  • Fecha de lectura de la tesis:  31/03/2014

 

Dirección y tribunal

  • Director de la tesis
    • Antonio Gavilanes Franco
  • Tribunal
    • Presidente del tribunal: ricardo Peña marí
    • Antonio Sanz montemayor (vocal)
    • gustavo ariel Patow (vocal)
    • Francisco ramon Feito higueruela (vocal)

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio