AzaezelX 0c23599023 adress #501 - thread oversight. 4 years ago
..
NvConcavityVolume.cpp 7dbfe6994d Engine directory for ticket #1 13 years ago
NvConcavityVolume.h 7dbfe6994d Engine directory for ticket #1 13 years ago
NvConvexDecomposition.cpp 7dbfe6994d Engine directory for ticket #1 13 years ago
NvConvexDecomposition.h 7dbfe6994d Engine directory for ticket #1 13 years ago
NvFloatMath.cpp 7dbfe6994d Engine directory for ticket #1 13 years ago
NvFloatMath.h 7dbfe6994d Engine directory for ticket #1 13 years ago
NvFloatMath.inl 7dbfe6994d Engine directory for ticket #1 13 years ago
NvHashMap.h afcb731d18 Fixed compile errors on linux (obvious programming faults). 9 years ago
NvMeshIslandGeneration.cpp 7dbfe6994d Engine directory for ticket #1 13 years ago
NvMeshIslandGeneration.h 7dbfe6994d Engine directory for ticket #1 13 years ago
NvRayCast.cpp 7dbfe6994d Engine directory for ticket #1 13 years ago
NvRayCast.h 7dbfe6994d Engine directory for ticket #1 13 years ago
NvRemoveTjunctions.cpp a487583946 From Dušan Jocić: convexDecomp vs2015+ compatibility patch 10 years ago
NvRemoveTjunctions.h 7dbfe6994d Engine directory for ticket #1 13 years ago
NvSimpleTypes.h a5d34271f2 Fixed some minor compiler warnings on Linux 10 years ago
NvSplitMesh.cpp 7dbfe6994d Engine directory for ticket #1 13 years ago
NvSplitMesh.h 7dbfe6994d Engine directory for ticket #1 13 years ago
NvStanHull.cpp 7dbfe6994d Engine directory for ticket #1 13 years ago
NvStanHull.h 7dbfe6994d Engine directory for ticket #1 13 years ago
NvThreadConfig.cpp 0c23599023 adress #501 - thread oversight. 4 years ago
NvThreadConfig.h 7dbfe6994d Engine directory for ticket #1 13 years ago
NvUserMemAlloc.h 7dbfe6994d Engine directory for ticket #1 13 years ago
readme.txt 7dbfe6994d Engine directory for ticket #1 13 years ago
wavefront.cpp 7dbfe6994d Engine directory for ticket #1 13 years ago
wavefront.h 7dbfe6994d Engine directory for ticket #1 13 years ago

readme.txt

The ConvexDecomposition library was written by John W. Ratcliff mailto:[email protected]

What is Convex Decomposition?

Convex Decomposition is when you take an arbitrarily complex triangle mesh and sub-divide it into
a collection of discrete compound pieces (each represented as a convex hull) to approximate
the original shape of the objet.

This is required since few physics engines can treat aribtrary triangle mesh objects as dynamic
objects. Even those engines which can handle this use case incurr a huge performance and memory
penalty to do so.

By breaking a complex triangle mesh up into a discrete number of convex components you can greatly
improve performance for dynamic simulations.

--------------------------------------------------------------------------------

This code is released under the MIT license.

The code is functional but could use the following improvements:

(1) The convex hull generator, originally written by Stan Melax, could use some major code cleanup.

(2) The code to remove T-junctions appears to have a bug in it. This code was working fine before,
but I haven't had time to debug why it stopped working.

(3) Island generation once the mesh has been split is currently disabled due to the fact that the
Remove Tjunctions functionality has a bug in it.

(4) The code to perform a raycast against a triangle mesh does not currently use any acceleration
data structures.

(5) When a split is performed, the surface that got split is not 'capped'. This causes a problem
if you use a high recursion depth on your convex decomposition. It will cause the object to
be modelled as if it had a hollow interior. A lot of work was done to solve this problem, but
it hasn't been integrated into this code drop yet.