Abstract
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.
Original language | English |
---|---|
Article number | 2730 |
Number of pages | 26 |
Journal | Electronics |
Volume | 10 |
Issue number | 22 |
DOIs | |
Publication status | Published - 9 Nov 2021 |
Keywords
- Rendering
- Sphere tracing
- Ray tracing
- Graphics
- Photorealism
- CUDA kernels
- Acceleration