Skip to content

v0.2.0

Compare
Choose a tag to compare
@Ahdhn Ahdhn released this 05 Jan 03:28
· 1338 commits to main since this release
19c7937

Highlights:

  • Eliminate global index space and identify mesh elements using the combination of their patch index and their local index within the patch
  • All query operation no longer needs to map their output to global index space
  • Allocating Attributes per-patch basis instead of a single large array
  • Introduce Vertex/Edge/FaceHandle to improve type safety which is used to identify different mesh element and index the mesh Attributes
  • Introduce LocalVertex/Edge/FaceT to improve type safety for internal implementation of local index space
  • Attributes are now managed by RXMeshStatic using add_vertex/edge/face_attribute() API
  • Introduce for_each_vertex/edge/face() API in RXMeshStatic for simple operations on the mesh that do not require query operations (i.e., map operations) for both CUDA and OpenMP backend
  • Introduce ReduceHandle to do reduction operations on Attribute and so reduction operation temp memory is no longer handle by Attribute itself
  • Improve the documentation for most of the user-facing APIs
  • Removing code related to shuffling and sorting the input mesh (it was only relevant to reproduce SIGGRAPH paper results)
  • Accurately report the register usage and static shared memory used by the kernel by using the (pointer to) kernel itself instead of the prototype function
  • Improve initializing the data structure by removing duplicate supporting structure that were created by both RXMesh and Patcher and by using OpenMP when possible in RXMesh

Known Issues:

  • Some queries (VE, VF, and higher queries) now require more registers per thread and thus they might fail on some (less powerful) GPUs.