A GPU Ray Tracing Implementation for Triangular Grid Primitives
Abstract
Triangular grid primitives are a new technique for more efficient handling of memory intensive meshes, also called micro meshes in recent proprietary hardware implementations. This makes it a technique with high potential in the area of virtual environments where hardware capabilities are typically limited. In this poster, we focus on software ray tracing on GPUs and present a novel, easy-to-implement approach that uses a two-level bounding volume hierarchy (BVH) to accelerate these grids. The primary goal of our work is to make the technology more accessible by focusing on standard GPU devices without hardware ray tracing units. With our approach, we are able to encode geometry and BVH with approximately 7.5 bytes per triangle, reducing standard representations by a factor of 3.73 while reducing BVH construction time. Our data structure achieves a peak performance impact of 16% for a three-level subdivision.
BibTeX
@inproceedings {10.2312:egve.20231341,
booktitle = {ICAT-EGVE 2023 - International Conference on Artificial Reality and Telexistence and Eurographics Symposium on Virtual Environments - Posters and Demos},
editor = {Abey Campbell and Claudia Krogmeier and Gareth Young},
title = {{A GPU Ray Tracing Implementation for Triangular Grid Primitives}},
author = {Buelow, Max von and Kuijper, Arjan and Fellner, Dieter W.},
year = {2023},
publisher = {The Eurographics Association},
ISSN = {1727-530X},
ISBN = {978-3-03868-236-3},
DOI = {10.2312/egve.20231341}
}
booktitle = {ICAT-EGVE 2023 - International Conference on Artificial Reality and Telexistence and Eurographics Symposium on Virtual Environments - Posters and Demos},
editor = {Abey Campbell and Claudia Krogmeier and Gareth Young},
title = {{A GPU Ray Tracing Implementation for Triangular Grid Primitives}},
author = {Buelow, Max von and Kuijper, Arjan and Fellner, Dieter W.},
year = {2023},
publisher = {The Eurographics Association},
ISSN = {1727-530X},
ISBN = {978-3-03868-236-3},
DOI = {10.2312/egve.20231341}
}