Forráskód Böngészése

added bullet physics library

ncannasse 7 éve
szülő
commit
67f3681989

+ 1 - 0
.gitignore

@@ -36,3 +36,4 @@ ReleaseStatic
 /include/ffmpeg
 /include/ffmpeg
 shiroLibs
 shiroLibs
 ReleaseVS2013
 ReleaseVS2013
+/include/bullet

+ 8 - 0
libs/bullet/README.md

@@ -0,0 +1,8 @@
+hlbullet
+========
+
+HLBullet is a binding for the Bullet3D Physics Library.
+http://bulletphysics.org
+
+Download the Bullet sources and put them in hashlink/include/bullet directory.
+

+ 134 - 0
libs/bullet/bullet.cpp

@@ -0,0 +1,134 @@
+#define HL_NAME(x) bullet_##x
+#include <hl.h>
+#ifdef _WIN32
+#pragma warning(disable:4305)
+#pragma warning(disable:4244)
+#endif
+#include <btBulletDynamicsCommon.h>
+
+template <typename T> struct pref {
+	void *finalize;
+	T *value;
+};
+
+typedef pref<btDiscreteDynamicsWorld> World;
+typedef pref<btCollisionShape> Shape;
+typedef pref<btRigidBody> Body;
+
+template<typename T> pref<T> *alloc_ref( T *value, void (*finalize)( pref<T> * ) ) {
+	pref<T> *r = (pref<T>*)hl_gc_alloc_finalizer(sizeof(r));
+	r->finalize = finalize;
+	r->value = value;
+	return r;
+}
+
+// --- WORLD ----------------------------------------------------------------
+
+static void finalize_world( World *p ) {
+	btCollisionDispatcher *dispatch = (btCollisionDispatcher*)p->value->getDispatcher();	
+	delete dispatch->getCollisionConfiguration();
+	delete dispatch;
+	delete p->value->getBroadphase();
+	delete p->value->getConstraintSolver();
+	delete p->value;
+}
+
+HL_PRIM World *HL_NAME(create_world)() {
+	btDefaultCollisionConfiguration *config = new btDefaultCollisionConfiguration();
+	btCollisionDispatcher *dispatch = new btCollisionDispatcher(config);
+	btDbvtBroadphase *broad = new btDbvtBroadphase();
+	btSequentialImpulseConstraintSolver *solver = new btSequentialImpulseConstraintSolver();
+	btDiscreteDynamicsWorld *world = new btDiscreteDynamicsWorld(dispatch, broad, solver, config);
+	return alloc_ref(world, finalize_world);
+}
+
+HL_PRIM void HL_NAME(set_gravity)( World *w, double x, double y, double z ) {
+	w->value->setGravity(btVector3(x,y,z));
+}
+
+HL_PRIM void HL_NAME(step_simulation)( World *w, double time, int iterations ) {
+	w->value->stepSimulation(time,iterations);
+}
+
+HL_PRIM void HL_NAME(add_rigid_body)( World *w, Body *b ) {
+	w->value->addRigidBody(b->value);
+}
+
+HL_PRIM void HL_NAME(remove_rigid_body)( World *w, Body *b ) {
+	w->value->removeRigidBody(b->value);
+}
+
+#define _WORLD _ABSTRACT(bworld)
+#define _SHAPE _ABSTRACT(bshape)
+#define _BODY _ABSTRACT(bbody)
+
+DEFINE_PRIM(_WORLD, create_world, _NO_ARG);
+DEFINE_PRIM(_VOID, set_gravity, _WORLD _F64 _F64 _F64);
+DEFINE_PRIM(_VOID, step_simulation, _WORLD _F64 _I32);
+
+DEFINE_PRIM(_VOID, add_rigid_body, _WORLD _BODY);
+DEFINE_PRIM(_VOID, remove_rigid_body, _WORLD _BODY);
+
+// --- SHAPES ----------------------------------------------------------------
+
+static void finalize_shape( Shape *s ) {
+	delete s->value;
+}
+
+HL_PRIM Shape *HL_NAME(create_box_shape)( double sizeX, double sizeY, double sizeZ ) {
+	btCollisionShape *s = new btBoxShape(btVector3(sizeX*0.5,sizeY*0.5,sizeZ*0.5));
+	return alloc_ref(s, finalize_shape);
+}
+
+HL_PRIM Shape *HL_NAME(create_sphere_shape)( double radius ) {
+	btCollisionShape *s = new btSphereShape(radius);
+	return alloc_ref(s, finalize_shape);
+}
+
+DEFINE_PRIM(_SHAPE, create_box_shape, _F64 _F64 _F64);
+DEFINE_PRIM(_SHAPE, create_sphere_shape, _F64);
+
+// --- RIGID BODY ----------------------------------------------------------------
+
+static void finalize_body( Body *b ) {
+	delete b->value->getMotionState();
+	delete b->value;
+}
+
+HL_PRIM Body *HL_NAME(create_body)( Shape *shape, double mass ) {
+	btVector3 inertia(0, 0, 0);
+	btDefaultMotionState* state = new btDefaultMotionState();
+	if( mass != 0 ) shape->value->calculateLocalInertia(mass,inertia);
+	btRigidBody::btRigidBodyConstructionInfo info(mass, state, shape->value, inertia);
+	return alloc_ref(new btRigidBody(info), finalize_body);
+}
+
+HL_PRIM void HL_NAME(set_body_position)( Body *b, double x, double y, double z ) {
+	btTransform t = b->value->getCenterOfMassTransform();
+	t.setOrigin(btVector3(x,y,z));
+	b->value->setCenterOfMassTransform(t);
+}
+
+HL_PRIM void HL_NAME(set_body_rotation)( Body *b, double x, double y, double z, double w ) {
+	btTransform t = b->value->getCenterOfMassTransform();
+	t.setRotation(btQuaternion(x,y,z,w));
+	b->value->setCenterOfMassTransform(t);
+}
+
+HL_PRIM void HL_NAME(get_body_transform)( Body *b, double *data ) {
+	btTransform t = b->value->getCenterOfMassTransform();
+	btVector3 p = t.getOrigin();
+	btQuaternion q = t.getRotation();
+	*data++ = p.x();
+	*data++ = p.y();
+	*data++ = p.z();
+	*data++ = q.x();
+	*data++ = q.y();
+	*data++ = q.z();
+	*data++ = q.w();
+}
+
+DEFINE_PRIM(_BODY, create_body, _SHAPE _F64);
+DEFINE_PRIM(_VOID, set_body_position, _BODY _F64 _F64 _F64);
+DEFINE_PRIM(_VOID, set_body_rotation, _BODY _F64 _F64 _F64 _F64);
+DEFINE_PRIM(_VOID, get_body_transform, _BODY _BYTES);

+ 640 - 0
libs/bullet/bullet.vcxproj

@@ -0,0 +1,640 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseVS2013|Win32">
+      <Configuration>ReleaseVS2013</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseVS2013|x64">
+      <Configuration>ReleaseVS2013</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{6534D221-34DF-404A-AFCD-6DEC9BBC9798}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>bullet</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v120</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v120</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <TargetExt>.hdll</TargetExt>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;../../$(Configuration);../../include/bullet/bin</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+    <TargetExt>.hdll</TargetExt>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;../../x64/$(Configuration);../../include/bullet/bin</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetExt>.hdll</TargetExt>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;../../$(Configuration);../../include/bullet/bin</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetExt>.hdll</TargetExt>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;../../$(Configuration);../../include/bullet/bin</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetExt>.hdll</TargetExt>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;../../x64/$(Configuration);../../include/bullet/bin</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetExt>.hdll</TargetExt>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);../../src;../../include/bullet/src</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;../../x64/$(Configuration);../../include/bullet/bin</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <OutputFile>../../$(Configuration)/$(TargetName).hdll</OutputFile>
+      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+      <OutputFile>../../$(Configuration)/$(TargetName).hdll</OutputFile>
+      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+      <OutputFile>../../$(Configuration)/$(TargetName).hdll</OutputFile>
+      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;BULLET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVS2013|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;OPENAL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>libhl.lib</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3AlignedAllocator.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3Logging.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3Vector3.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Geometry\b3ConvexHullComputer.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Geometry\b3GeometryUtil.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvt.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDispatcher.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btActivatingCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBox2dBox2dCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcherMt.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObject.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorld.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorldImporter.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCompoundCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvex2dConvex2dAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btGhostObject.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btHashedSimplePairCache.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btInternalEdgeUtility.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btManifoldResult.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btUnionFind.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBox2dShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBoxShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCapsuleShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCompoundShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConcaveShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConeShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvex2dShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexHullShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexInternalShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPointCloudShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPolyhedron.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCylinderShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btEmptyShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultiSphereShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btShapeHull.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btSphereShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStaticPlaneShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStridingMeshInterface.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTetrahedronShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleBuffer.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleCallback.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMesh.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMeshShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btUniformScalingShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessing.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGenericPoolAllocator.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvh.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactShape.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btTriangleShapeEx.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_set.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_contact.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_memory.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_tri_collision.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexCast.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPolyhedralContactClipping.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Character\btKinematicCharacterController.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btFixedConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGearConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpring2Constraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpringConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHinge2Constraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHingeConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btNNCGConstraintSolver.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSliderConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btTypedConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btUniversalConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorldMt.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btRigidBody.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimulationIslandManagerMt.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBody.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraintSolver.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyDynamicsWorld.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyFixedConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyGearConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointLimitConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointMotor.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyPoint2Point.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySliderConstraint.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigLCP.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeAlgorithm.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolver.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btRaycastVehicle.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btWheelInfo.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btAlignedAllocator.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btConvexHull.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btConvexHullComputer.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btGeometryUtil.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btPolarDecomposition.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btQuickprof.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btSerializer.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btSerializer64.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btThreads.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btVector3.cpp" />
+    <ClCompile Include="bullet.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\include\bullet\src\btBulletCollisionCommon.h" />
+    <ClInclude Include="..\..\include\bullet\src\btBulletDynamicsCommon.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3AlignedAllocator.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3AlignedObjectArray.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3CommandLineArgs.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3FileUtils.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3HashMap.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Logging.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Matrix3x3.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3MinMax.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3PoolAllocator.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3QuadWord.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Quaternion.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Random.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3ResizablePool.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Scalar.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3StackAlloc.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Transform.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3TransformUtil.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Vector3.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3AabbUtil.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3ConvexHullComputer.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3GeometryUtil.h" />
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3GrahamScan2dConvexHull.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3Internal.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseInterface.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvt.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDispatcher.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCallback.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btActivatingCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBox2dBox2dCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionConfiguration.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionCreateFunc.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcherMt.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObject.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObjectWrapper.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorld.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorldImporter.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCompoundCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvex2dConvex2dAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btGhostObject.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btHashedSimplePairCache.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btInternalEdgeUtility.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btManifoldResult.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btUnionFind.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBox2dShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBoxShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCapsuleShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionMargin.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCompoundShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConcaveShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConeShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvex2dShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexHullShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexInternalShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPointCloudShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPolyhedron.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCylinderShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btEmptyShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMaterial.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultiSphereShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btShapeHull.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btSphereShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStaticPlaneShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStridingMeshInterface.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTetrahedronShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleBuffer.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleCallback.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleInfoMap.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMesh.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMeshShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btUniformScalingShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btBoxCollision.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btClipPolygon.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btCompoundFromGimpact.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessing.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessingStructs.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGenericPoolAllocator.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGeometryOperations.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvh.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvhStructs.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactMassUtil.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvhStructs.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactShape.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btQuantization.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btTriangleShapeEx.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_array.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_basic_geometry_operations.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_bitset.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_collision.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_set.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_clip_polygon.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_contact.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_geometry.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_geom_types.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_hash_table.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_linear_math.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_math.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_memory.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_radixsort.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_tri_collision.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btComputeGjkEpaPenetration.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexCast.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexPenetrationDepthSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btDiscreteCollisionDetectorInterface.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkCollisionDescription.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa3.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btManifoldPoint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMprPenetration.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPointCollector.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPolyhedralContactClipping.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSimplexSolverInterface.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Character\btCharacterControllerInterface.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Character\btKinematicCharacterController.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConstraintSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactSolverInfo.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btFixedConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGearConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpring2Constraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpringConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHinge2Constraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHingeConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btJacobianEntry.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btNNCGConstraintSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSliderConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolverBody.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolverConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btTypedConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btUniversalConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btActionInterface.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorldMt.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDynamicsWorld.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btRigidBody.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimulationIslandManagerMt.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBody.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraintSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyDynamicsWorld.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyFixedConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyGearConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointFeedback.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointLimitConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointMotor.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyLink.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyLinkCollider.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyPoint2Point.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySliderConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySolverConstraint.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigLCP.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeAlgorithm.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolverInterface.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btPATHSolver.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btSolveProjectedGaussSeidel.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btRaycastVehicle.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btVehicleRaycaster.h" />
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btWheelInfo.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAabbUtil2.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAlignedAllocator.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAlignedObjectArray.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btConvexHull.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btConvexHullComputer.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btCpuFeatureUtility.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btDefaultMotionState.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btGeometryUtil.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btGrahamScan2dConvexHull.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btHashMap.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btIDebugDraw.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btList.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMatrix3x3.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMatrixX.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMinMax.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMotionState.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btPolarDecomposition.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btPoolAllocator.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuadWord.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuaternion.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuickprof.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btRandom.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btScalar.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btSerializer.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btSpatialAlgebra.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btStackAlloc.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btThreads.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btTransform.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btTransformUtil.h" />
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btVector3.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 1198 - 0
libs/bullet/bullet.vcxproj.filters

@@ -0,0 +1,1198 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="bullet.cpp" />
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3AlignedAllocator.cpp">
+      <Filter>Bullet\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3Logging.cpp">
+      <Filter>Bullet\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Common\b3Vector3.cpp">
+      <Filter>Bullet\common</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Geometry\b3ConvexHullComputer.cpp">
+      <Filter>Bullet\geometry</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\Bullet3Geometry\b3GeometryUtil.cpp">
+      <Filter>Bullet\geometry</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvt.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDispatcher.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btActivatingCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBox2dBox2dCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcherMt.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObject.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorld.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorldImporter.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCompoundCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvex2dConvex2dAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btGhostObject.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btHashedSimplePairCache.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btInternalEdgeUtility.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btManifoldResult.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btUnionFind.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBox2dShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBoxShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCapsuleShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCompoundShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConcaveShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConeShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvex2dShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexHullShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexInternalShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPointCloudShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPolyhedron.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCylinderShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btEmptyShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultiSphereShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btShapeHull.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btSphereShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStaticPlaneShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStridingMeshInterface.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTetrahedronShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleBuffer.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleCallback.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMesh.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMeshShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btUniformScalingShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessing.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGenericPoolAllocator.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvh.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactShape.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\btTriangleShapeEx.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_set.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_contact.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_memory.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_tri_collision.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexCast.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPolyhedralContactClipping.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.cpp">
+      <Filter>Bullet\collision</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Character\btKinematicCharacterController.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btFixedConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGearConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpring2Constraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpringConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHinge2Constraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHingeConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btNNCGConstraintSolver.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSliderConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btTypedConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btUniversalConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorldMt.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btRigidBody.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimulationIslandManagerMt.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBody.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraintSolver.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyDynamicsWorld.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyFixedConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyGearConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointLimitConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointMotor.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyPoint2Point.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySliderConstraint.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigLCP.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeAlgorithm.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolver.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btRaycastVehicle.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btWheelInfo.cpp">
+      <Filter>Bullet\dynamics</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btAlignedAllocator.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btConvexHull.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btConvexHullComputer.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btGeometryUtil.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btPolarDecomposition.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btQuickprof.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btSerializer.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btSerializer64.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btThreads.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\include\bullet\src\LinearMath\btVector3.cpp">
+      <Filter>Bullet\maths</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <Filter Include="Bullet">
+      <UniqueIdentifier>{257c1738-9bb2-49d3-8b6f-c37be7ff2132}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Bullet\common">
+      <UniqueIdentifier>{63488c0b-869f-4123-b014-1b601309481d}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Bullet\geometry">
+      <UniqueIdentifier>{99c8201c-5680-47d3-830a-6b5aba7b0da2}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Bullet\collision">
+      <UniqueIdentifier>{dc981db5-79e6-4ae8-bd7d-56b7804efb8a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Bullet\dynamics">
+      <UniqueIdentifier>{e0374396-8c2f-4d87-b707-facf552f0365}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Bullet\maths">
+      <UniqueIdentifier>{4133acc4-93ed-4762-8a08-afacebe2c5eb}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\include\bullet\src\btBulletCollisionCommon.h">
+      <Filter>Bullet</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\btBulletDynamicsCommon.h">
+      <Filter>Bullet</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3AlignedAllocator.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3AlignedObjectArray.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3CommandLineArgs.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3FileUtils.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3HashMap.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Logging.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Matrix3x3.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3MinMax.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3PoolAllocator.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3QuadWord.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Quaternion.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Random.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3ResizablePool.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Scalar.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3StackAlloc.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Transform.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3TransformUtil.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Common\b3Vector3.h">
+      <Filter>Bullet\common</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3AabbUtil.h">
+      <Filter>Bullet\geometry</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3ConvexHullComputer.h">
+      <Filter>Bullet\geometry</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3GeometryUtil.h">
+      <Filter>Bullet\geometry</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\Bullet3Geometry\b3GrahamScan2dConvexHull.h">
+      <Filter>Bullet\geometry</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btAxisSweep3Internal.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseInterface.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvt.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDbvtBroadphase.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btDispatcher.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btOverlappingPairCallback.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btQuantizedBvh.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btActivatingCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBox2dBox2dCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btBoxBoxDetector.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionConfiguration.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionCreateFunc.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionDispatcherMt.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObject.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionObjectWrapper.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorld.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCollisionWorldImporter.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btCompoundCompoundCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvex2dConvex2dAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btGhostObject.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btHashedSimplePairCache.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btInternalEdgeUtility.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btManifoldResult.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\btUnionFind.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBox2dShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBoxShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCapsuleShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionMargin.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCollisionShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCompoundShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConcaveShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConeShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvex2dShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexHullShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexInternalShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPointCloudShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexPolyhedron.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btCylinderShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btEmptyShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMaterial.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btMultiSphereShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btShapeHull.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btSphereShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStaticPlaneShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btStridingMeshInterface.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTetrahedronShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleBuffer.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleCallback.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleInfoMap.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMesh.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleMeshShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btTriangleShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\CollisionShapes\btUniformScalingShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btBoxCollision.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btClipPolygon.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btCompoundFromGimpact.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessing.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btContactProcessingStructs.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGenericPoolAllocator.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGeometryOperations.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvh.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactBvhStructs.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactMassUtil.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvh.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactQuantizedBvhStructs.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btGImpactShape.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btQuantization.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\btTriangleShapeEx.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_array.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_basic_geometry_operations.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_bitset.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_collision.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_box_set.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_clip_polygon.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_contact.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_geom_types.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_geometry.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_hash_table.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_linear_math.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_math.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_memory.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_radixsort.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\Gimpact\gim_tri_collision.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btComputeGjkEpaPenetration.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexCast.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btConvexPenetrationDepthSolver.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btDiscreteCollisionDetectorInterface.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkCollisionDescription.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa2.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpa3.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btManifoldPoint.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btMprPenetration.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPointCollector.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btPolyhedralContactClipping.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSimplexSolverInterface.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.h">
+      <Filter>Bullet\collision</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Character\btCharacterControllerInterface.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Character\btKinematicCharacterController.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btConstraintSolver.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btContactSolverInfo.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btFixedConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGearConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpring2Constraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btGeneric6DofSpringConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHinge2Constraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btHingeConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btJacobianEntry.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btNNCGConstraintSolver.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSliderConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolverBody.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btSolverConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btTypedConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\ConstraintSolver\btUniversalConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btActionInterface.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorldMt.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btDynamicsWorld.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btRigidBody.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Dynamics\btSimulationIslandManagerMt.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBody.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyConstraintSolver.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyDynamicsWorld.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyFixedConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyGearConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointFeedback.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointLimitConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyJointMotor.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyLink.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyLinkCollider.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodyPoint2Point.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySliderConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Featherstone\btMultiBodySolverConstraint.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigLCP.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btDantzigSolver.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeAlgorithm.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btLemkeSolver.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolver.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btMLCPSolverInterface.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btPATHSolver.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\MLCPSolvers\btSolveProjectedGaussSeidel.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btRaycastVehicle.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btVehicleRaycaster.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\BulletDynamics\Vehicle\btWheelInfo.h">
+      <Filter>Bullet\dynamics</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAabbUtil2.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAlignedAllocator.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btAlignedObjectArray.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btConvexHull.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btConvexHullComputer.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btCpuFeatureUtility.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btDefaultMotionState.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btGeometryUtil.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btGrahamScan2dConvexHull.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btHashMap.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btIDebugDraw.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btList.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMatrix3x3.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMatrixX.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMinMax.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btMotionState.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btPolarDecomposition.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btPoolAllocator.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuadWord.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuaternion.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btQuickprof.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btRandom.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btScalar.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btSerializer.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btSpatialAlgebra.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btStackAlloc.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btThreads.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btTransform.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btTransformUtil.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\bullet\src\LinearMath\btVector3.h">
+      <Filter>Bullet\maths</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>

+ 55 - 0
libs/bullet/bullet/Body.hx

@@ -0,0 +1,55 @@
+package bullet;
+
+typedef BodyInst = hl.Abstract<"bbody">
+
+@:hlNative("bullet")
+class Body {
+
+	var inst : BodyInst;
+	var _pos = new h3d.col.Point();
+	var _q = new h3d.Quat();
+	var _tmp = new Array<Float>();
+	
+	public var shape(default,null) : Shape;
+	public var mass(default,null) : Float;
+	public var position(get,never) : h3d.col.Point;
+	public var rotation(get,never) : h3d.Quat;
+
+	public function new( shape : Shape, mass : Float ) {
+		inst = createBody(shape, mass);
+		this.shape = shape;
+		this.mass = mass;
+		_tmp[6] = 0.;
+	}
+	
+	public function setTransform( p : h3d.col.Point, ?q : h3d.Quat ) {
+		set_body_position(inst, p.x, p.y, p.z);
+		if( q != null ) set_body_rotation(inst, q.x, q.y, q.z, q.w) else set_body_rotation(inst, 0, 0, 0, 1);
+	}
+	
+	function get_position() {
+		get_body_transform(inst, hl.Bytes.getArray(_tmp));
+		_pos.set(_tmp[0],_tmp[1],_tmp[2]);
+		return _pos;
+	}
+
+	function get_rotation() {
+		get_body_transform(inst, hl.Bytes.getArray(_tmp));
+		_q.set(_tmp[3],_tmp[4],_tmp[5],_tmp[6]);
+		return _q;
+	}
+
+	static function set_body_position( b : BodyInst, x : Float, y : Float, z : Float ) {
+	}
+
+	static function set_body_rotation( b : BodyInst, x : Float, y : Float, z : Float, w : Float ) {
+	}
+
+	static function get_body_transform( b : BodyInst, bytes : hl.Bytes ) {
+	}
+	
+	static function createBody( s : Shape, mass : Float ) : BodyInst {
+		return null;
+	}
+	
+}

+ 15 - 0
libs/bullet/bullet/Shape.hx

@@ -0,0 +1,15 @@
+package bullet;
+
+abstract Shape(hl.Abstract<"bshape">) {
+	
+	@:hlNative("bullet","create_box_shape")
+	public static function createBox( sizeX : Float, sizeY : Float, sizeZ : Float ) : Shape {
+		return null;
+	}
+
+	@:hlNative("bullet","create_sphere_shape")
+	public static function createSphere( radius : Float ) : Shape {
+		return null;
+	}
+
+}

+ 50 - 0
libs/bullet/bullet/World.hx

@@ -0,0 +1,50 @@
+package bullet;
+
+typedef WorldInst = hl.Abstract<"bworld">
+
+@:hlNative("bullet")
+class World {
+
+	var inst : WorldInst;
+	var bodies : Array<Body> = [];
+
+	public function new() {
+		inst = createWorld();
+	}
+	
+	public function setGravity( x : Float, y : Float, z : Float ) {
+		set_gravity(inst, x, y, z);
+	}
+	
+	public function stepSimulation( time : Float, iterations : Int ) {
+		step_simulation(inst, time, iterations);
+	}
+	
+	public function addRigidBody( b : Body ) {
+		if( bodies.indexOf(b) >= 0 ) throw "Body already in world";
+		bodies.push(b);
+		add_rigid_body(inst, @:privateAccess b.inst);
+	}
+	
+	public function removeRigidBody( b : Body ) {
+		if( !bodies.remove(b) ) return;
+		remove_rigid_body(inst, @:privateAccess b.inst);
+	}
+	
+	static function createWorld() : WorldInst {
+		return null;
+	}
+	
+	static function set_gravity( w : WorldInst, x : Float, y : Float, z : Float ) {
+	}
+	
+	static function step_simulation( w : WorldInst, time : Float, iterations : Int ) {
+	}
+	
+	static function add_rigid_body( w : WorldInst, b : Body.BodyInst ) {
+	}
+
+	static function remove_rigid_body( w : WorldInst, b : Body.BodyInst ) {
+	}
+
+}

+ 60 - 0
libs/bullet/sample/Main.hx

@@ -0,0 +1,60 @@
+
+class Main extends hxd.App {
+
+	var world : bullet.World;
+	var bodies : Array<{ b : bullet.Body, m : h3d.scene.Mesh }> = [];
+
+	override function init() {
+		world = new bullet.World();
+		world.setGravity(0,0,-9.81);
+
+		var floor = new bullet.Body(bullet.Shape.createBox(100,100,1),0);
+		world.addRigidBody(floor);
+
+		var floorGfx = new h3d.prim.Cube(100, 100, 1);
+		floorGfx.translate( -50, -50, -0.5);
+		var floorMesh = new h3d.scene.Mesh(floorGfx, s3d);
+		floorMesh.material.color.setColor(0x800000);
+		bodies.push({ b : floor, m : floorMesh });
+
+		new h3d.scene.DirLight(new h3d.Vector(1, 2, -4));
+
+		var sp = bullet.Shape.createSphere(1);
+		var prim = new h3d.prim.Sphere(1,10,10);
+		prim.addNormals();
+		for( i in 0...20 ) {
+			var m = new h3d.scene.Mesh(prim, s3d);
+			m.x = Math.random() * 10;
+			m.y = Math.random() * 10;
+			m.z = 2 + Math.random() * 10;
+			var b = new bullet.Body(sp, 0.5);
+			b.setTransform(new h3d.col.Point(m.x, m.y, m.z));
+			world.addRigidBody(b);
+			bodies.push({ b : b, m : m });
+		}
+
+		for( b in bodies ) {
+			b.m.material.mainPass.enableLights = true;
+			b.m.material.shadows = true;
+		}
+
+		new h3d.scene.CameraController(80, s3d);
+	}
+
+	override function update(dt:Float) {
+		world.stepSimulation(dt / 60, 10);
+		for( b in bodies ) {
+			var pos = b.b.position;
+			var q = b.b.rotation;
+			b.m.x = pos.x;
+			b.m.y = pos.y;
+			b.m.z = pos.z;
+			b.m.setRotationQuat(q);
+		}
+	}
+
+	static function main() {
+		new Main();
+	}
+
+}

+ 6 - 0
libs/bullet/sample/sample.hxml

@@ -0,0 +1,6 @@
+-lib heaps
+-lib hlbullet
+-lib hldx
+-hl sample.hl
+-main Main
+

+ 55 - 0
libs/bullet/sample/sample.hxproj

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project version="2">
+  <!-- Output SWF options -->
+  <output>
+    <movie outputType="Application" />
+    <movie input="" />
+    <movie path="sample.hxml" />
+    <movie fps="0" />
+    <movie width="0" />
+    <movie height="0" />
+    <movie version="0" />
+    <movie minorVersion="0" />
+    <movie platform="hxml" />
+    <movie background="#000000" />
+  </output>
+  <!-- Other classes to be compiled into your SWF -->
+  <classpaths>
+    <class path="." />
+  </classpaths>
+  <!-- Build options -->
+  <build>
+    <option directives="" />
+    <option flashStrict="False" />
+    <option noInlineOnDebug="False" />
+    <option mainClass="Main" />
+    <option enabledebug="False" />
+    <option additional="-hl sample.hl" />
+  </build>
+  <!-- haxelib libraries -->
+  <haxelib>
+    <library name="heaps" />
+    <library name="hlbullet" />
+    <library name="hldx" />
+  </haxelib>
+  <!-- Class files to compile (other referenced classes will automatically be included) -->
+  <compileTargets>
+    <!-- example: <compile path="..." /> -->
+  </compileTargets>
+  <!-- Paths to exclude from the Project Explorer tree -->
+  <hiddenPaths>
+    <hidden path="obj" />
+  </hiddenPaths>
+  <!-- Executed before build -->
+  <preBuildCommand>cmd /c haxe $(OutputFile)</preBuildCommand>
+  <!-- Executed after build -->
+  <postBuildCommand alwaysRun="False" />
+  <!-- Other project options -->
+  <options>
+    <option showHiddenPaths="False" />
+    <option testMovie="Custom" />
+    <option testMovieCommand="hl sample.hl" />
+  </options>
+  <!-- Plugin storage -->
+  <storage />
+</project>