-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SimplifyQuadricDecimation fixes #6163
Commits on May 19, 2023
-
SimplifyQuadricDecimation: Check for flipped triangles connected to b…
…oth vertices of the removed edge The previous code checks if any triangles connected to the removed vertex are flipped in the process of collapsing the edge. However, since the remaining vertex on the collapsed edge can be moved during the operation, triangles connected to this vertex can flip as well. This commit puts the flip-checking code into a loop so we can check both sets of triangles.
Configuration menu - View commit details
-
Copy full SHA for 2e8b510 - Browse repository at this point
Copy the full SHA 2e8b510View commit details -
SimplifyQuadricDecimation: Disallow creating very small triangles
This sets a threshold on how much any triangle can shrink in area during an edge collapse which should avoid creating degenerate triangles. The threshold is somewhat arbitrary, I found 0.001 worked well but it may make sense for this to become a function parameter.
Configuration menu - View commit details
-
Copy full SHA for 5ba784e - Browse repository at this point
Copy the full SHA 5ba784eView commit details -
SimplifyQuadricDecimation: Prevent 'pinching' of triangles
When a vertex is connected to exactly 3 triangles and an edge of one of these triangles not connected to the vertex is collapsed, the remaining 2 triangles end up sharing the same vertices, with opposite normals. This creates a non-manifold location which is nearly always undesirable. This commit adds a check to see if any of the triangles attached to the collapsing edge share an edge that is not connected to `vidx0` or `vidx1`
Configuration menu - View commit details
-
Copy full SHA for 6b24ae9 - Browse repository at this point
Copy the full SHA 6b24ae9View commit details -
SimplifyQuadricDecimation: Save some memory by clearing some vectors …
…after they are no longer needed
Configuration menu - View commit details
-
Copy full SHA for 1a8dadd - Browse repository at this point
Copy the full SHA 1a8daddView commit details
Commits on May 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b2072c9 - Browse repository at this point
Copy the full SHA b2072c9View commit details
Commits on Jun 1, 2023
-
SimplifyQuadricDecimation: Reduce memory requirements by removing nee…
…d for vbars & costs maps Reduces the memory footprint by 27% in my tests runs ~15% faster as we remove a lot of allocations.
Configuration menu - View commit details
-
Copy full SHA for 8ebef77 - Browse repository at this point
Copy the full SHA 8ebef77View commit details
Commits on Jun 3, 2023
-
SimplifyQuadricDecimation: Simplify checking for pinched triangles
Changing from tracking edges (`unordered_set<Vector2i>`) to vertices (`unordered_map<int, int>) gives a good performance increase
Configuration menu - View commit details
-
Copy full SHA for 3a84a3f - Browse repository at this point
Copy the full SHA 3a84a3fView commit details