Files
UnrealEngineUWP/Engine/Source/ThirdParty
danny couture 848c13db9a Optimize convex hull computation
- Fix a comparison bug in VHACD Volume::Voxelize causing the number of voxels to explode when x == y and z < x.
 - Activate axis alignment in VHACD to fix huge voxels being created due to an elongated part being placed diagonally in the voxel space causing precision problems.
 - Make the data ordering in vhacdVolume GetVoxel more cache friendly toward loops iterating over (i,j,k) in that order.
 - Parallelize bulk convex hull computation and make it available in blueprint.
 - Replace standard allocator with our own (TBB) so that the parallel code actually runs faster instead of locking on allocs.
 - Add an overridable task runner interface in VHACD to reuse our task pool instead of spawning threads for each async task.
 - Add an overridable profiler interface in VHACD so we can add Insights tags inside VHACD.
 - Fix convex hull computation progress not being shown when run inside a dataprep operation.
 - Rewrite voxel flood fill algorithm toward cache friendliness and get rid of extra data structure causing high memory usage on large voxels.
 - Recompile VHACD using clang/llvm

 Results for running a generic convex hull dataprep operation on all meshes
 - 305m @ 20GB RAM -> 2m25s @ 6GB RAM on 7628 meshes (DATASET-0019a)
 - 486m @ 49GB RAM -> 3m33s @ 9GB RAM on 5506 meshes (DATASET-0008a)

Tested on Windows/Mac/Linux

From dev-enterprise@11497987

#jira UEENT-3026
#rb Benn.Gallagher, Julien.St-Jean

[CL 11499409 by danny couture in 4.25 branch]
2020-02-18 10:19:29 -05:00
..
2020-02-14 14:58:26 -05:00
2020-02-18 10:19:29 -05:00
2020-01-14 04:14:27 -05:00