Torque3D/Engine/lib/convexDecomp
2016-06-10 10:34:00 +02:00
..
NvConcavityVolume.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvConcavityVolume.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvConvexDecomposition.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvConvexDecomposition.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvFloatMath.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvFloatMath.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvFloatMath.inl Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvHashMap.h Fixed compile errors on linux (obvious programming faults). 2016-06-10 10:34:00 +02:00
NvMeshIslandGeneration.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvMeshIslandGeneration.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvRayCast.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvRayCast.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvRemoveTjunctions.cpp From Dušan Jocić: convexDecomp vs2015+ compatibility patch 2015-07-28 18:42:20 -05:00
NvRemoveTjunctions.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvSimpleTypes.h Fixed some minor compiler warnings on Linux 2015-06-28 22:29:23 +02:00
NvSplitMesh.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvSplitMesh.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvStanHull.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvStanHull.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvThreadConfig.cpp Fix lib ConvexDecomp to compile on WIN64. 2014-09-14 21:36:44 +02:00
NvThreadConfig.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
NvUserMemAlloc.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
readme.txt Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
wavefront.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
wavefront.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00

The ConvexDecomposition library was written by John W. Ratcliff mailto:jratcliffscarab@gmail.com

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.