Efficient Ray Tracing of Subdivision Surfaces using Tessellation Caching

dc.contributor.authorBenthin, Carstenen_US
dc.contributor.authorWoop, Svenen_US
dc.contributor.authorNießner, Matthiasen_US
dc.contributor.authorSelgard, Kaien_US
dc.contributor.authorWald, Ingoen_US
dc.contributor.editorPetrik Clarberg and Elmar Eisemannen_US
dc.date.accessioned2016-01-19T10:32:30Z
dc.date.available2016-01-19T10:32:30Z
dc.date.issued2015en_US
dc.description.abstractA common way to ray trace subdivision surfaces is by constructing and traversing spatial hierarchies on top of tessellated input primitives. Unfortunately, tessellating surfaces requires a substantial amount of memory storage, and involves significant construction and memory I/O costs. In this paper, we propose a lazy-build caching scheme to efficiently handle these problems while also exploiting the capabilities of today's many-core architectures. To this end, we lazily tessellate patches only when necessary, and utilize adaptive subdivision to efficiently evaluate the underlying surface representation. The core idea of our approach is a shared lazy evaluation cache, which triggers and maintains the surface tessellation. We combine our caching scheme with SIMD-optimized subdivision primitive evaluation and fast hierarchy construction over the tessellated surface. This allows us to achieve high ray tracing performance in complex scenes, outperforming the state of the art while requiring only a fraction of the memory. In addition, our method stays within a fixed memory budget regardless of the tessellation level, which is essential for many applications such as movie production rendering. Beyond the results of this paper, we have integrated our method into Embree, an open source ray tracing framework, thus making interactive ray tracing of subdivision surfaces publicly available.en_US
dc.description.sectionheadersEfficient Ray Tracingen_US
dc.description.seriesinformationHigh-Performance Graphicsen_US
dc.identifier.doi10.1145/2790060.2790061en_US
dc.identifier.isbn978-1-4503-3707-6en_US
dc.identifier.pages5-12en_US
dc.identifier.urihttps://doi.org/10.1145/2790060.2790061en_US
dc.publisherACM Siggraphen_US
dc.subjectray tracingen_US
dc.subjectsubdivision surfacesen_US
dc.subjectcachingen_US
dc.titleEfficient Ray Tracing of Subdivision Surfaces using Tessellation Cachingen_US
Files