Renderizado en tiempo real acelerado mediante hardware de ray tracing

Machado de Benedetti, Manuel

Supervisor(es): Fernández, Eduardo - Aguerre, José Pedro

Resumen:

A finales de 2018 la empresa NVIDIA especializada en el desarrollo de unidades de procesamiento gráfico, lanzó al mercado un nuevo producto para computadoras personales. La arquitectura (Turing) utilizada en sus nuevas tarjetas gráficas RTX, facilita la implementación y mejora sustancialmente el rendimiento de algoritmos basados en la técnica de ray tracing. Las técnicas de ray tracing son óptimas para la simulación del comportamiento de la luz y cómo llega a nuestros ojos, siendo este el objetivo más perseguido en computación gráfica para renderizado 3D. Sin embargo, teniendo en cuenta las exigencias de la industria de videojuegos en cuanto a resoluciones de pantalla y cantidad de cuadros por segundo, estas técnicas son virtualmente imposibles de ejecutar únicamente con el hardware específico de aceleración de ray tracing añadido en la arquitectura Turing. Lo que hace viable al ray tracing en esta nueva generación de tarjetas gráficas es el complemento de otros componentes o funcionalidades de la GPU. Por un lado, el procesamiento de imágenes en tiempo real por redes neuronales con la ayuda de Tensor Cores. Y por otro lado, su implementación estratégica en combinación con otras técnicas clásicas de renderizado, que han sido utilizadas por décadas en el hardware de las GPU y permiten mayores optimizaciones. En este proyecto de grado se estudian en profundidad las posibilidades del nuevo hardware de NVIDIA para el desarrollo de ray tracing, así como sus ventajas reales en comparación con el desarrollo en las GPU de generaciones anteriores. También se estudia una de las aplicaciones que utiliza Inteligencia Artificial desarrollada por la misma empresa para el mejorado, denoising y aceleración de la generación de imágenes con ray tracing. Para ello se implementaron tres aplicaciones de ray tracing, que tienen distintos objetivos: ray tracing físicamente realista, ray tracing con denoising basado en IA y ray tracing en tiempo real enfocado para su uso en videojuegos. El código de fuente de este trabajo está publicado en https: // github. com/ manueme/ ray-tracing-research. Como requerimiento para el desarrollo de las aplicaciones que ponen a prueba el hardware estudiado, se debió realizar un análisis sobre la forma en la que se adaptaron las distintas bibliotecas gráficas que acceden al GPU. Se presentan así implementaciones con Vulkan, una biblioteca gráfica de bajo nivel, que hoy en día es parte de los nuevos estándares de la industria en los que debe estar capacitado un desarrollador para acceder y trabajar con las nuevas funcionalidades de trazado de rayos.


Detalles Bibliográficos
2021
Ray tracing
Path tracing
Render híbrido
Hardware gráfico
Iluminación global
Tiempo real
NVIDIA RTX
Vulkan
Optix denoiser
Español
Universidad de la República
COLIBRI
https://hdl.handle.net/20.500.12008/29892
Acceso abierto
Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0)