Raymarching de campos de distancia con CUDA
Autores: Hadji-Kyriacou, Avelina; Arandjelovi, Ognjen
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Raymarching de campos de distancia con CUDA
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Raymarching
Renderizado
Superficies implícitas
Campos de distancia firmados
Fotorrealista
CUDA
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 47
Citaciones: Sin citaciones
Raymarching es una técnica para renderizar superficies implícitas utilizando campos de distancia firmados. Se ha conocido y utilizado desde la década de 1980 para renderizar fractales y superficies CSG (geometría sólida constructiva), pero rara vez se ha utilizado para aplicaciones de renderizado comercial como películas y juegos 3D. Raymarching se utilizó por primera vez para renderizado fotorrealista a mediados de la década de 2000 por desarrolladores de demoscene y programadores gráficos aficionados, recibiendo poca o ninguna atención de la comunidad académica e ingenieros gráficos profesionales. En el presente trabajo, explicamos por qué el uso de la Biblioteca Multimedia Simple y Rápida (SFML) por casi todos los enfoques existentes conduce a una serie de ineficiencias, y por lo tanto nos proponemos desarrollar un enfoque orientado a CUDA en su lugar. A continuación, mostramos que el canal habitual de manejo de datos conlleva más sobrecarga de flujo de datos innecesaria y, por lo tanto, proponemos una estructura de canalización novedosa que elimina gran parte de la redundancia en la forma en que se procesan y transmiten los datos. Procedemos a introducir una serie de estructuras de datos que fueron diseñadas con el objetivo específico de explotar las fortalezas de la canalización en términos de eficiencia al lograr un alto grado de fotorrealismo, así como los modelos y optimizaciones acompañantes que finalmente resultan en un motor capaz de renderizar fotorrealistas y en tiempo real en escenas complejas y objetos arbitrarios. Por último, la efectividad de nuestro marco se demuestra en una serie de experimentos que comparan nuestro motor tanto en términos de fidelidad visual como eficiencia computacional con las principales soluciones comerciales y de código abierto, a saber, Unreal Engine y Blender.
Descripción
Raymarching es una técnica para renderizar superficies implícitas utilizando campos de distancia firmados. Se ha conocido y utilizado desde la década de 1980 para renderizar fractales y superficies CSG (geometría sólida constructiva), pero rara vez se ha utilizado para aplicaciones de renderizado comercial como películas y juegos 3D. Raymarching se utilizó por primera vez para renderizado fotorrealista a mediados de la década de 2000 por desarrolladores de demoscene y programadores gráficos aficionados, recibiendo poca o ninguna atención de la comunidad académica e ingenieros gráficos profesionales. En el presente trabajo, explicamos por qué el uso de la Biblioteca Multimedia Simple y Rápida (SFML) por casi todos los enfoques existentes conduce a una serie de ineficiencias, y por lo tanto nos proponemos desarrollar un enfoque orientado a CUDA en su lugar. A continuación, mostramos que el canal habitual de manejo de datos conlleva más sobrecarga de flujo de datos innecesaria y, por lo tanto, proponemos una estructura de canalización novedosa que elimina gran parte de la redundancia en la forma en que se procesan y transmiten los datos. Procedemos a introducir una serie de estructuras de datos que fueron diseñadas con el objetivo específico de explotar las fortalezas de la canalización en términos de eficiencia al lograr un alto grado de fotorrealismo, así como los modelos y optimizaciones acompañantes que finalmente resultan en un motor capaz de renderizar fotorrealistas y en tiempo real en escenas complejas y objetos arbitrarios. Por último, la efectividad de nuestro marco se demuestra en una serie de experimentos que comparan nuestro motor tanto en términos de fidelidad visual como eficiencia computacional con las principales soluciones comerciales y de código abierto, a saber, Unreal Engine y Blender.