Computer Science > Graphics
[Submitted on 17 Sep 2018 (this version), latest version 16 Jan 2019 (v3)]
Title:AlSub: Fully Parallel Subdivision for Modeling and Rendering
View PDFAbstract:Mesh subdivision is a key geometric modeling task which forges smooth, supple, eye-pleasing surfaces out of coarse polygonal outlines. Since its rise to mainstream around the turn of the century, subdivision has become an unavoidable production tool. With industrial demands in sight, there has been a steady effort for developing faster and more efficient subdivision implementations. Despite the tremendous parallelism potential of subdivision algorithms, state-of-the-art implementations are only partially parallel as they are riddled by intermediate serial steps and therefore fail to unleash the compute power of massively parallel devices such as graphics processing units (GPUs). To fully parallelize the subdivision process, we discard traditional linked list data structures in favor of a sparse matrix linear algebra formalism. Subdivision algorithms are written in the language of linear algebra with customized operators which readily demonstrate a performance edge over existing approaches. To further increase performance, we automatically identify critical matrix operations and replace them by specialized, heavily tuned GPU kernels. To substantiate the versatility of our approach we apply it to $\sqrt{3}$, Loop and Catmull-Clark subdivision schemes and show support for adaptive subdivision, semi-sharp creases, and a split evaluation scheme that separates topology and topological changes from positional updates. Our results indicate substantial performance gains over the state-of-the-art and current industry standard.
Submission history
From: Daniel Mlakar [view email][v1] Mon, 17 Sep 2018 07:17:43 UTC (4,449 KB)
[v2] Mon, 1 Oct 2018 06:47:48 UTC (4,449 KB)
[v3] Wed, 16 Jan 2019 10:14:51 UTC (3,715 KB)
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.