Mesh Simplification Algorithm

Started by
3 comments, last by frob 6 years, 7 months ago

I am currently working on a dynamic LOD system, After searching for algorithms to do this I found the quadric mesh simplification which looked very promising, however I have no idea how to implement it without any clear example of code. Does anyone have an example of how to implement this algorithm or any mesh simplification algorithm which would be useful for my goal?

Advertisement

Here's one implementation: https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification

Do you want to do this at runtime or precompute some levels? (note that simplygon is somehow free now.)

The original code QSlim is available on his website:

https://mgarland.org/research/quadrics.html

 

A better implementation for learning can be found here:

https://mgarland.org/research/quadrics.html

 

The link by JoeJ is a simplified/modified version of the original algorithm. IIRC it doesn't update the error metric of the neighborhood immediately after an edge collapse , but postpones it till later for a batch update. This is a common optimization, but it is different from the original idea.

I agree with JoeJ using Simplygon. In particular if you need to simplify not only geometry, but also texture coordinates, normals, etc...

Hughes Hoppe did a bunch of work somewhat related to that, including view-dependent LOD, mesh reduction, and cleaning up geometry data to be both smaller and contain fewer geometric errors or errant polygons.  He moved more to video over the last decade, but he had about two decades publishing papers on mesh simplification and mesh processing.

The papers are on his web site and several have source code links. You could also look at his co-authors on the papers, mostly grad students, and see what work they published on similar algorithms.

This topic is closed to new replies.

Advertisement