Files
bullet3/Demos/premake4.lua
erwin.coumans f02dd51597 Added a first version of a Featherstone multi body implementation.
The original version was written by Stephen Thompson.
I replaced Eigen math by Bullet LinearMath, and added a dedicated 6x6 matrix solver. 
Also I integrated support for collisions/contact constraints between btMultiBody and btRigidBody, and de-activation support.
See Demos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp for example usage.
There is currently only support for contact constraints for btMultiBody. 
Next on the list will be adding support for joint limit constraint for btMultiBody. 
The implementation is still experimental/untested, the quality will improve in upcoming Bullet releases.
2013-10-01 22:50:31 +00:00

102 lines
3.0 KiB
Lua

function createDemos( demos, incdirs, linknames)
for _, name in ipairs(demos) do
project ( "App_" .. name )
kind "ConsoleApp"
targetdir ".."
includedirs {incdirs}
configuration { "Windows" }
defines { "GLEW_STATIC"}
links { "opengl32" }
includedirs{ "../Glut" }
libdirs {"../Glut"}
files { "../build/bullet.rc" }
configuration {"Windows", "x32"}
links {"glew32s","glut32"}
configuration {"Windows", "x64"}
links {"glew64s", "glut64"}
configuration {"MacOSX"}
--print "hello"
linkoptions { "-framework Carbon -framework OpenGL -framework AGL -framework Glut" }
configuration {"not Windows", "not MacOSX"}
links {"GL","GLU","glut"}
configuration{}
links {
linknames
}
files {
"./" .. name .. "/*.cpp" ,
"./" .. name .. "/*.h"
}
end
end
-- "CharacterDemo", fixme: it includes BspDemo files
local localdemos = {
"BasicDemo",
"Box2dDemo",
"BspDemo",
"CcdPhysicsDemo",
"CollisionDemo",
"CollisionInterfaceDemo",
"ConcaveConvexcastDemo",
"ConcaveDemo",
"ConcaveRaycastDemo",
"ConstraintDemo",
"ContinuousConvexCollision",
"ConvexHullDistance",
"DynamicControlDemo",
"EPAPenDepthDemo",
"ForkLiftDemo",
"FeatherstoneMultiBodyDemo",
"FractureDemo",
"GenericJointDemo",
"GimpactTestDemo",
"GjkConvexCastDemo",
"GyroscopicDemo",
"InternalEdgeDemo",
"MovingConcaveDemo",
"MultiMaterialDemo",
"RagdollDemo",
"Raytracer",
"RaytestDemo",
"RollingFrictionDemo",
"SimplexDemo",
"SliderConstraintDemo",
"TerrainDemo",
"UserCollisionAlgorithm",
"VehicleDemo",
"VoronoiFractureDemo"
}
-- the following demos require custom include or link settings
createDemos({"HelloWorld"},{"../src"},{"BulletDynamics","BulletCollision","LinearMath"})
createDemos(localdemos,{"../src","OpenGL"},{"OpenGLSupport","BulletDynamics", "BulletCollision", "LinearMath"})
createDemos({"ConvexDecompositionDemo"},{"../Extras/HACD","../Extras/ConvexDecomposition","../src","OpenGL"},{"OpenGLSupport","BulletDynamics", "BulletCollision", "LinearMath","HACD","ConvexDecomposition"})
createDemos({"SoftDemo"},{"../src","OpenGL"}, {"OpenGLSupport","BulletSoftBody", "BulletDynamics", "BulletCollision", "LinearMath"})
createDemos({"SerializeDemo"},{"../Extras/Serialize/BulletFileLoader","../Extras/Serialize/BulletWorldImporter","../src","OpenGL"},{"OpenGLSupport","BulletWorldImporter", "BulletFileLoader", "BulletSoftBody", "BulletDynamics", "BulletCollision", "LinearMath"})
createDemos({"BulletXmlImportDemo"},{"../Extras/Serialize/BulletFileLoader","../Extras/Serialize/BulletXmlWorldImporter", "../Extras/Serialize/BulletWorldImporter","../src","OpenGL"},{"OpenGLSupport","BulletXmlWorldImporter","BulletWorldImporter", "BulletFileLoader", "BulletSoftBody", "BulletDynamics", "BulletCollision", "LinearMath"})
include "OpenGL"