RXMesh: A GPU Mesh Data Structure

Ahmed H. Mahmoud, Serban D. Porumbescu, and John D. Owens

ACM Transactions on Graphics (SIGGRAPH Proceedings)


We propose a new static high-performance mesh data structure for triangle surface meshes on the GPU. Our data structure is carefully designed for parallel execution while capturing mesh locality and confining data access, as much as possible, within the GPU's fast shared memory. We achieve this by subdividing the mesh into patches and representing these patches compactly using a matrix-based representation. Our patching technique is decorated with ribbons, thin mesh strips around patches that eliminate the need to communicate between different computation thread blocks, resulting in consistent high throughput. We call our data structure EXMesh: Ribbon-matriX Mesh. We hide the complexity of our data structure behind a flexible but powerful programming model that helps deliver high performance by inducing load balance even in highly irregular input meshes. We show the efficacy of our programming model on common geometry processing applications—mesh smoothing and filtering, geodesic distance, and vertex normal computation. For evaluation, we benchmark our data structure against well-optimized GPU and (single and multi-core) CPU data structures and show significant speedups.

Related Publications


Related Projects

  • Mesh Processing

    Computer representations of geometry are at the core of most problems in digital design and fabrication. In the context of our tools research we explore novel approaches to geometry processing.

  • Meshmixer

    Meshmixer is a prototype design tool based on high-resolution dynamic triangle meshes. We are exploring the new capabilities of this surface representation for interactive design and fabrication, in the context of a practical system we release to the public. For more information about the project, visit the meshmixer website.

Welcome ${RESELLERNAME} Customers

Please opt-in to receive reseller support

I agree that Autodesk may share my name and email address with ${RESELLERNAME} so that ${RESELLERNAME} may provide installation support and send me marketing communications.  I understand that the Reseller will be the party responsible for how this data will be used and managed.

Email is required Entered email is invalid.