Skip to content

Surface triangle mesh smoothing w.r.t. vertex normals to preserve surface curvature. Runs parallel on OpenMP or CUDA if available. Vertex indices are reordered s.t. they are localized into patches to improve CUDA blocking into shared memory & spatial cache locality.

License

Notifications You must be signed in to change notification settings

codearxiv/SurfMeshSmooth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SurfMeshSmooth

Surface triangle mesh smoothing, basic laplacian smoothing extended to take vertex normals into account in order to preserve surface curvature during smoothing.

Might not properly handle sharp concave corners on 1D mesh boundary, if any.

Runs parallel on OpenMP or CUDA if available.

If CUDA, vertex indices are reordered to localize then into patches in order to improve blocking into shared memory and spatial cache locality.

Performance (on a quad core Intel Xeon E5-1620 v4 + NVIDIA Quadro M4000): 1000 smoothing iterations on a 1 million vertex mesh with ~2 million triangles in about ~2 seconds with CUDA, and about ~27 sec with OpenMP.

1a

About

Surface triangle mesh smoothing w.r.t. vertex normals to preserve surface curvature. Runs parallel on OpenMP or CUDA if available. Vertex indices are reordered s.t. they are localized into patches to improve CUDA blocking into shared memory & spatial cache locality.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published