Replies: 2 comments 4 replies
-
I'd need to go back to look at my notes; my recollection is that I considered Welzl and rejected it because of stability and performance/determinism concerns (it's amortized linear in theory but theory and practice tend to diverge); note that the currently used algorithm doesn't guarantee minimal results but it provides, generally, results that are fairly good. I think I experimented with other guaranteed-linear-time algorithms and this was the best among the ones that are based on heuristics. Out of curiosity, do you have specific examples where the spheres are significantly suboptimal? I'm very open to improving this but I'd prefer to explore options that aren't Welzl. |
Beta Was this translation helpful? Give feedback.
-
FWIW I continue to have reservations about using Welzl but I've adjusted the code to use the axes EPOS uses (EPOS-14 variant to be more precise; I've tested EPOS-26 axis selection and the extra axes introduced there don't seem to meaningfully improve the radius on clusters I've tested) in #883. On some meshes this results in 1-2% tighter average cluster bounds - I haven't measured the impact on worst case cluster bounds but I'd expect it to be more significant obviously. As a result this improves the cluster occlusion culling efficiency a little bit; the time to compute the bounds is a little longer but it's mitigated by small code tweaks and only using this for positions, as I didn't find the effect on cone angles to be significant. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, I've been using your library to compute meshlets and their bounds and it's been working out well so far. The current code for this uses a linear scan:
meshoptimizer/src/clusterizer.cpp
Lines 78 to 146 in 28bd987
Something like gltfpack could compute and store the minimum bounding-sphere for meshes as well.
Beta Was this translation helpful? Give feedback.
All reactions