Implementación de un Raytracer en Unidades de Procesamiento Gráfico Utilizando Bounding Volume Hierarchy

Leonardo Scandolo, Cristian García Bauza, Juan D'Amato, Marcelo Vénere

Abstract


Los métodos de ray tracing permiten generar representaciones gráficas de escenarios tridimensionales con gran calidad, ya que modelan naturalmente sombras, reflexiones y refracciones además de la emisión difusa. Estos algoritmos tienen un costo computacional muy elevado, pero pueden adaptarse para hacer uso del poder de cómputo de arquitecturas masivamente paralelas y de alto rendimiento como las placas gráficas (GPUs).
La implementación clásica de estos algoritmos hace uso de técnicas de clasificación geométrica para reducir al mínimo la cantidad de cómputos de intersecciones entre rayos y triángulos. A su vez, los datos de materiales, tales como texturas, deben organizarse coherentemente para reducir los tiempos de lectura.
En este trabajo se propone utilizar una clasificación de los datos con un árbol de Jerarquía de Volúmenes (BVH) y se describe su implementación en una arquitectura masivamente paralela. Se presenta un pipeline de procesamiento implementado en OpenCL que permite generar imágenes de alta calidad con
tasas de refresco interactivas, y se exponen resultados en resoluciones de 5122 y 10242 píxeles a partir de escenas del orden de 105 triángulos.

Full Text:

PDF



Asociación Argentina de Mecánica Computacional
Güemes 3450
S3000GLN Santa Fe, Argentina
Phone: 54-342-4511594 / 4511595 Int. 1006
Fax: 54-342-4511169
E-mail: amca(at)santafe-conicet.gov.ar
ISSN 2591-3522