isl-org / Open3D

Open3D: A Modern Library for 3D Data Processing
http://www.open3d.org
Other
11.46k stars 2.31k forks source link

🚀 Parallel fast mesh simplification #6776

Open ssheorey opened 6 months ago

ssheorey commented 6 months ago

We need a fast mesh simplification method that can produce topological correct meshes and (optionally) preserve UV coordinates.

Options: [ ] Mesh Optimizer. Works well in tests. [ ] Manifold. Note: Manifold++ is GPL and does not work as well as Manifold.

dbs4261 commented 6 months ago

Not sure how you guys are looking to approach this. Ive been working on similar stuff for work and my approach was to simplify and ignore the UV coordinates, then to generate a new UV map and bake the texture using Embree. This was because not being able to simplify across texture seams leaves a lot of triangles. Most of this stuff I'm doing with Open3D already. But I had a major issue with UVAtlas because it requires a manifold mesh. I had to write my own simplification code that wouldn't generate non-manifold edges (if you close a triangular hole you can get more than 2 triangles per edge). I'm in the middle of me rewriting it because the performance was disappointing (especially in terms of memory usage). One other source of simplification code could be the UVAtlas library itself. It uses quadric simplification to partition the mesh.