How does Meshoptimizer classify vertices before simplification? #693
Unanswered
daniilvinn
asked this question in
Q&A
Replies: 1 comment 3 replies
-
The likely cause is that when merging meshlets, you need to:
If most vertices are classified as border, this is unusual but could mean that your indices are incorrect - not pointing to vertices with correct positions perhaps - and the simplifier can’t find adjacent triangles because of this. This also would happen if you don’t do 1 well; if you don’t do 2 well you will get seam or locked vertices. meshoptimizer/src/simplifier.cpp Line 208 in b8843d9 |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello!
I develop Nanite-like Virtual Geometry system, and I need to build a hiererachy of meshlets. On each step I group meshlets, merge their indices and simplify with locked borders.
However, I am struggling to implement it properly - for some reason, simplifier gets stuck really often.
I found out that there are 5 kinds of vertices - complex, manifold, seam, border and locked vertices. With locked borders on, every border vertex becomes locked vertex.
Also I found out that when I try to simplify Standford's Bunny mesh (fully connected mesh), at last simplification passes I get only 1 meshlet group which consist of 2 meshlets. After debugging, I found out that vertex classificator still classifies some vertices as border ones (meaning that they are locked). It is unexpected behaviour from my point of view - how can it find borders even though that mesh is fully connected and I have only 1 group (entire mesh)? Shouldn't borders be attribute seams?
This behaviour leads to simplifier getting stuck. I also tested on Happy Buddha's mesh and it gets stuck much earlier, so I can't really simplify it properly. it just fails to simplify -> I reregister meshlets which failed to simplify -> it repeats for next pass.
Also I don't understand what "complex" and "manifold" vertex kinds are and how do "border" and "seam" kinds differ?
Beta Was this translation helpful? Give feedback.
All reactions