Raymarching Distance Fields with CUDA

Raymarching is a technique for rendering implicit surfaces using signed distance fields. It has been known and used since the 1980s for rendering fractals and CSG (constructive solid geometry) surfaces, but has rarely been used for commercial rendering applications such as film and 3D games. Raymarc...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Avelina Hadji-Kyriacou, Ognjen Arandjelović
Formato: article
Lenguaje:EN
Publicado: MDPI AG 2021
Materias:
Acceso en línea:https://doaj.org/article/d84e6163314949898b24251d4431aaed
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
id oai:doaj.org-article:d84e6163314949898b24251d4431aaed
record_format dspace
spelling oai:doaj.org-article:d84e6163314949898b24251d4431aaed2021-11-25T17:24:02ZRaymarching Distance Fields with CUDA10.3390/electronics102227302079-9292https://doaj.org/article/d84e6163314949898b24251d4431aaed2021-11-01T00:00:00Zhttps://www.mdpi.com/2079-9292/10/22/2730https://doaj.org/toc/2079-9292Raymarching is a technique for rendering implicit surfaces using signed distance fields. It has been known and used since the 1980s for rendering fractals and CSG (constructive solid geometry) surfaces, but has rarely been used for commercial rendering applications such as film and 3D games. Raymarching was first used for photorealistic rendering in the mid 2000s by demoscene developers and hobbyist graphics programmers, receiving little to no attention from the academic community and professional graphics engineers. In the present work, we explain why the use of Simple and Fast Multimedia Library (SFML) by nearly all existing approaches leads to a number of inefficiencies, and hence set out to develop a CUDA oriented approach instead. We next show that the usual data handling pipeline leads to further unnecessary data flow overheads and therefore propose a novel pipeline structure that eliminates much of redundancy in the manner in which data are processed and passed. We proceed to introduce a series of data structures which were designed with the specific aim of exploiting the pipeline’s strengths in terms of efficiency while achieving a high degree of photorealism, as well as the accompanying models and optimizations that ultimately result in an engine which is capable of photorealistic and real-time rendering on complex scenes and arbitrary objects. Lastly, the effectiveness of our framework is demonstrated in a series of experiments which compare our engine both in terms of visual fidelity and computational efficiency with the leading commercial and open source solutions, namely Unreal Engine and Blender.Avelina Hadji-KyriacouOgnjen ArandjelovićMDPI AGarticlerenderingsphere tracingray tracinggraphicsphotorealismCUDA kernelsElectronicsTK7800-8360ENElectronics, Vol 10, Iss 2730, p 2730 (2021)
institution DOAJ
collection DOAJ
language EN
topic rendering
sphere tracing
ray tracing
graphics
photorealism
CUDA kernels
Electronics
TK7800-8360
spellingShingle rendering
sphere tracing
ray tracing
graphics
photorealism
CUDA kernels
Electronics
TK7800-8360
Avelina Hadji-Kyriacou
Ognjen Arandjelović
Raymarching Distance Fields with CUDA
description Raymarching is a technique for rendering implicit surfaces using signed distance fields. It has been known and used since the 1980s for rendering fractals and CSG (constructive solid geometry) surfaces, but has rarely been used for commercial rendering applications such as film and 3D games. Raymarching was first used for photorealistic rendering in the mid 2000s by demoscene developers and hobbyist graphics programmers, receiving little to no attention from the academic community and professional graphics engineers. In the present work, we explain why the use of Simple and Fast Multimedia Library (SFML) by nearly all existing approaches leads to a number of inefficiencies, and hence set out to develop a CUDA oriented approach instead. We next show that the usual data handling pipeline leads to further unnecessary data flow overheads and therefore propose a novel pipeline structure that eliminates much of redundancy in the manner in which data are processed and passed. We proceed to introduce a series of data structures which were designed with the specific aim of exploiting the pipeline’s strengths in terms of efficiency while achieving a high degree of photorealism, as well as the accompanying models and optimizations that ultimately result in an engine which is capable of photorealistic and real-time rendering on complex scenes and arbitrary objects. Lastly, the effectiveness of our framework is demonstrated in a series of experiments which compare our engine both in terms of visual fidelity and computational efficiency with the leading commercial and open source solutions, namely Unreal Engine and Blender.
format article
author Avelina Hadji-Kyriacou
Ognjen Arandjelović
author_facet Avelina Hadji-Kyriacou
Ognjen Arandjelović
author_sort Avelina Hadji-Kyriacou
title Raymarching Distance Fields with CUDA
title_short Raymarching Distance Fields with CUDA
title_full Raymarching Distance Fields with CUDA
title_fullStr Raymarching Distance Fields with CUDA
title_full_unstemmed Raymarching Distance Fields with CUDA
title_sort raymarching distance fields with cuda
publisher MDPI AG
publishDate 2021
url https://doaj.org/article/d84e6163314949898b24251d4431aaed
work_keys_str_mv AT avelinahadjikyriacou raymarchingdistancefieldswithcuda
AT ognjenarandjelovic raymarchingdistancefieldswithcuda
_version_ 1718412439400218624