Thursday 18 December 2014

[V-HACD] Adaptive Convex-Hulls Sub-sampling

Today, I took some time to add a new parameter (i.e., minVolumePerCH) to V-HACD to adaptively control the number of vertices/triangles of the generated convex-hulls. Below some results for different values of minVolumePerCH.






Saturday 13 December 2014

V-HACD 2.0 Parameters Description



Parameter name Description Default value Range
resolution maximum number of voxels generated during the voxelization stage 100,000 10,000-64,000,000
depth maximum number of clipping stages. During each split stage, all the model parts (with a concavity higher than the user defined threshold) are clipped according the "best" clipping plane 20 1-32
concavity maximum concavity 0.0025 0.0-1.0
planeDownsampling controls the granularity of the search for the "best" clipping plane 4 1-16
convexhullDownsampling controls the precision of the convex-hull generation process during the clipping plane selection stage 4 1-16
alpha controls the bias toward clipping along symmetry planes 0.05 0.0-1.0
beta controls the bias toward clipping along revolution axes 0.05 0.0-1.0
gamma maximum allowed concavity during the merge stage 0.00125 0.0-1.0
pca enable/disable normalizing the mesh before applying the convex decomposition 0 0-1
mode 0: voxel-based approximate convex decomposition, 1: tetrahedron-based approximate convex decomposition 0 0-1
maxNumVerticesPerCH controls the maximum number of triangles per convex-hull 64 4-1024
minVolumePerCH controls the adaptive sampling of the generated convex-hulls 0.0001 0.0-0.01

Sunday 7 December 2014

V-HACD 2.0 vs. HACD


Below some approximate convex decomposition results comparing V-HACD 2.0 and HACD.

Parameters:
  • testVHACD.exe %%i 8000000 20 0.003 4 4 0.05 0.05 0.0015 0 0 256 0.0 %%i.wrl log_%%i.txt
  • testHACD.exe %%i  2 50 0 0 1 30 2000
Score:
  • +1: V-HACD provides better decomposition than HACD
  • -1: HACD provides better decomposition than V-HACD
  • 0: V-HACD and HACD provide comparable results


V-HACD 2.0 HACD Score
18 convex-hulls


66 convex-hulls

1
18 convex-hulls

26 convex-hulls

1
16 convex-hulls

12 convex-hulls

-1
30 convex-hulls

28 convex-hulls

0
46 convex-hulls

54 convex-hulls

1
18 convex-hulls

26 convex-hulls

1
16 convex-hulls

19 convex-hulls

0
18 convex-hulls

22 convex-hulls

0
34 convex-hulls

17 convex-hulls


1
18 convex-hulls

13 convex-hulls


-1
25 convex-hulls

28 convex-hulls


1
20 convex-hulls

15 convex-hulls

-1
22 convex-hulls


16 convex-hulls


-1
42 convex-hulls

42 convex-hulls

0
9 convex-hulls

7 convex-hulls

-1
16 convex-hulls

15 convex-hulls

1

35 convex-hulls



37 convex-hulls

0
17 convex-hulls

17 convex-hulls

0
18 convex-hulls

18 convex-hulls

0
36 convex-hulls

34 convex-hulls

0
13 convex-hulls

10 convex-hulls

-1
11 convex-hulls

5 convex-hulls

-1
24 convex-hulls

20 convex-hulls

1
35 convex-hulls

36 convex-hulls

0
21 convex-hulls

13 convex-hulls

-1
15 convex-hulls

16 convex-hulls

0
9 convex-hulls
10 convex-hulls

0
41 convex-hulls

71 convex-hulls

0
22 convex-hulls

27 convex-hulls

0
47 convex-hulls

51 convex-hulls

0
23 convex-hulls

28 convex-hulls

0