Commit Graph
100 Commits
Author SHA1 Message Date
erwin coumans c155e126d0 move parts of collision pipeline to shared header files (work-in-progress) 2013-12-12 11:03:55 -08:00
erwin coumans ba2ba28a89 add Bullet 2.x CPU FeatherstoneMultiBodyDemo 2013-12-09 14:16:51 -08:00
erwin coumans 9379c7fb8c enable mouse picking for BasicDemo (will move it to a shared code part soon) 2013-12-07 11:19:57 -08:00
erwincoumans 30a6fe705f remove obsolete executables, prettify Bullet 2.x CPU BasicDemo a little bit. 2013-12-06 18:11:04 -08:00
erwincoumans fca6d11381 created new Bullet 2 CPU BasicDemo, using the OpenGL 3 rendering. I will add picking soon. Hold ctrl/alt + mouse to move/zoom camera
remove reference to btGImpact (it is removed now)
2013-12-06 17:48:58 -08:00
Erwin Coumans bbb2c8a6f1 Merge branch 'bullet2stripped-master' 2013-12-06 15:32:59 -07:00
Erwin Coumans f06312c632 remove most clutter (todo) 2013-12-06 15:29:13 -07:00
Erwin Coumans 9e9b172b23 Merge branch 'bullet2-master' 2013-12-06 15:09:34 -07:00
Erwin Coumans ffbef54c4f test 2013-12-06 15:06:54 -07:00
erwin.coumans@gmail.com d48e2c717c fix rotation correction in btFixedConstraint, see Issue 769 2013-12-04 19:06:28 +00:00
erwin.coumans@gmail.com 1362b6ab48 Fix convex cast normals for btScaledBvhTriangleShape: normals were already in world space
See Issue 371 THere seems to be some other issues, need to get a reproduction case.
2013-11-26 18:44:06 +00:00
erwin.coumans@gmail.com 5910b42d8d fix SIMD_2_PI macro, see Issue 773 2013-11-26 17:15:05 +00:00
erwin coumans ec39c2f210 Removed to bitonic sort and ios, they were not used and confuse Bram :)
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=9570
2013-11-25 21:38:44 -08:00
erwin coumans beb9e98cd3 expose the gUseLargeBatches as command-line argument --use_large_batches 2013-11-21 09:15:52 -08:00
erwin coumans 8a7ad65177 added a variation of the constraint solver, that works on CPU OpenCL (oneBigBatch), one stage (batching) happens on CPU for this mode 2013-11-21 09:15:42 -08:00
erwincoumans 1d5c651753 Use more shared data structures in src\Bullet3OpenCL\NarrowphaseCollision\kernels\satClipHullContacts.cl
Revert default error func (was broken)
2013-11-19 17:52:59 -08:00
erwin coumans 26dfaa441e add some command-line options
--use_jacobi
--allow_opencl_cpu

b3LauncherCL constructor takes string, to make it easier to determine failing OpenCL kernel
b3SetCustomErrorMessageFunc, printf error and exit(0)
2013-11-19 13:42:53 -08:00
erwin.coumans@gmail.com 9aad92315b Avoid crash in btCompoundCompoundCollisionAlgorithm if there is no tree for one of the btCompoundShapes
Update the revision, to avoid clearing the child cache each frame
2013-11-17 20:35:35 +00:00
erwin.coumans@gmail.com 886650a038 fix 'unused' warning. Fixes Issue 770 2013-11-17 20:13:50 +00:00
erwin.coumans@gmail.com 673e74146e only build demos using extras if BUILD_EXTRAS is on 2013-11-17 20:03:42 +00:00
erwincoumans 54909160a7 Update readme.txt 2013-11-12 09:46:44 -08:00
erwincoumans 1efecf9dba Update readme.txt
add explanation of a few new command-line parameters
2013-11-12 09:39:09 -08:00
erwincoumans 47d543f72b update Win32 executable to start with the Samurai trimesh scene 2013-11-12 09:33:50 -08:00
erwincoumans a78cbcf354 Accidently left some very slow copyToHost in the batching code, removing it makes it faster :-) 2013-11-12 09:03:30 -08:00
erwincoumans f7abea1b2c remove precompiled Windows binaries, they were just for the alpha pre-release download 2013-11-11 22:47:06 -08:00
erwincoumans 7796ca1de7 add Windows binaries for a release/tag 2013-11-11 22:23:19 -08:00
erwincoumans 472614772f expose some more settings as command-line parameters:
[--disable_shadowmap] [--shadowmap_size=int] [--shadowmap_resolution=<int>] [--use_jacobi] [--use_uniform_grid]
2013-11-11 22:20:21 -08:00
erwincoumans 5ce0b3938f Re-introduce GPU parallel Jacobi solver, called btGpuJacobiContactSolver. There are still some issues, but for basic scene's it works.
To avoid confusion, rename GPU contact solver to btGpuContactSolver, and constraint (non-contact) solver to btPgsConstraintSolver.
2013-11-11 21:15:06 -08:00
erwincoumans ef6be5370d more work towards hybrid of GPU grid and sap broadphase, separating small, large (moving) and static objects
re-enable 'useNewBatchingKernel', it is slower but more robust
2013-11-11 02:19:04 -08:00
erwin coumans d13de109a5 work towards re-enabling GPU grid broadphase (in addition to GPU sap bp) 2013-11-10 23:19:51 -08:00
erwincoumans b0c43520e3 more work towards re-enabling grid broadphase. 2013-11-10 22:00:35 -08:00
erwincoumans ad8585f184 prepare for btGpuGridBroadphase 2013-11-10 14:15:23 -08:00
erwincoumans 6b5921b1b3 added a basic test for SimpleOpenGL3 2013-11-09 13:09:11 -08:00
erwincoumans 8f3051fdf1 add ImplicitCloth demo, by Stan Melax
add SimpleOpenGL3App, used in ImplicitCloth demo. The Bullet 3.x demos should use this as a template, it will clean up some of the mess.
2013-11-09 12:12:33 -08:00
erwincoumans a6bc61ad1a tweaked the particle demo a little bit 2013-11-08 23:21:01 -08:00
erwincoumans 768ea211a6 add a waiting message, during startup of a demo.
fix an OpenCL kernel, broken in previous commit.
2013-11-07 16:47:18 -08:00
erwin coumans e85bae5fe3 share more data structures and code between OpenCL kernels and C/C++ code on CPU (non-OpenCL)
integrateSingleTransform
fix bug in registerRigidBody (could lead to random crashes, especially when performing picking/adding rigid bodies afterwards)
2013-11-07 15:49:57 -08:00
erwin coumans e20cb22832 share more data structures and code between OpenCL and C/C++ on CPU:
move the setConstraint4/b3ConvertConstraint4 to shared code.
2013-11-07 12:46:01 -08:00
erwin coumans a9a758dd54 share more code between OpenCL kernels and C++ by moving kernel data structures/code to the 'shared' folders 2013-11-06 19:57:36 -08:00
erwincoumans 82a6855f9e fix OSX build 2013-11-05 14:09:35 -08:00
erwin coumans 9d96c24bee fix a compile error in the debug/testing particles kernel 2013-11-04 23:46:03 -08:00
erwin.coumans@gmail.com 0536f986a6 apply patch: soft bodies should not collide with ghost objects.
Thanks to Sergej Reich for the patch, fixes Issue 757
2013-11-04 01:12:52 +00:00
erwin.coumans@gmail.com 439ab03940 fix Mac OSX build (there is no such member called e.m128_f32[0] 2013-11-03 19:55:08 +00:00
erwin.coumans@gmail.com 218d4d1394 use a separate default cfm for the MLCP solver, it is a very sensitive value for Dantzig (and Lemke) 2013-10-31 16:52:32 +00:00
erwin.coumans@gmail.com 644d01d231 added the btNNCGConstraintSolver, based on the paper "Nonsmooth Nonlinear Conjugate Gradient Method for interactive
contact force problems". The solver needs a lot of iterations, before the quality goes up (~ 1000)
Thanks to Gabor PUHR for the contribution!
Improved the btLemkeSolver.
Remove the sparse optimizations from the btMatrixX.h, replace it with explicit call to rowComputeNonZeroElements (only used in the btSolveProjectedGaussSeidel), it was likely slowing things down, without being useful.
Re-enable SIMD in the solver (was accidently disabled in Bullet 2.82 release)
2013-10-31 06:17:08 +00:00
erwin.coumans@gmail.com 6ca948e22f make Lemke work with lower/upper bounds, using the BLCP to LCP conversion (using a dog-slow matrix inversion etc)
for this conversion, see also https://github.com/erwincoumans/num4lcp/blob/master/matlab/test_lcp_bounds.m and
appendix A1 in http://www.cs.duke.edu/~parr/nips10.pdf, thanks to Kenny Erleben and Evan Drumwright for the tips!
(friction is not coupled to normal forces yet)
2013-10-30 00:02:13 +00:00
erwin.coumans@gmail.com 13936eb9a5 use square epsilon in btVector3::fuzzyZero (length2) 2013-10-29 22:53:01 +00:00
erwin.coumans@gmail.com 19f999ac08 fix double precision, and remove alloca
increase mass of the load, to show benefits of direct MLCP solver
move damping back to original location
2013-10-24 18:31:27 +00:00
erwin.coumans@gmail.com 5ca137cb54 fix autotools build, add MLCPSolvers and ForkLiftDemo 2013-10-24 02:27:37 +00:00
erwin.coumans@gmail.com f5320e4106 add "latency motion state interpolation", using previous frame/current, instead of current->next
See Demos/ForkLiftDemo for example (F7 to toggle, use single-frame stepping, press 'i' and 's' to see the effect)
2013-10-24 00:13:43 +00:00
erwin.coumans@gmail.com a1c962192c Allow the ForkLiftDemo to toggle between MLCP and SI solver, using F6 key.
Apply patch for CMake config, see Issue 754 (Issue 753)
Fix a few issue with the MLCP solver: allow split impulse, and fix offset in friction dependencies
2013-10-23 23:35:13 +00:00
erwin.coumans@gmail.com cf7f5436e4 apply CMake patch in Issue 748
thanks to Julien Schueller for the contribution!
2013-10-22 18:34:17 +00:00
erwin.coumans@gmail.com 23f612bbb5 fix Linux build
by default, only enable 64bit build when using ./premake4_linux64 and only 32bit build when using ./premake4_linux
remove some warning
2013-10-22 18:10:45 +00:00
erwin.coumans@gmail.com a21480c8ca Attempt to fix "Regression in friction and damping behaviour" , see issue 752
Thanks to Sergej Reich for the report and narrowing down the breaking revision!
2013-10-22 09:26:08 +00:00
erwin.coumans@gmail.com 5e372d6ac5 fix compile errors 2013-10-21 23:33:01 +00:00
erwin.coumans@gmail.com 379f0079e0 Added Dantzig MLCP solver option from Open Dynamics Engine (trying to avoid naming/linking conflicts in case ODE and Bullet is used together)
If an MLCP solver fails, use PGS/SI fallback, add a boolean return value for 'solve' method
2013-10-21 23:27:09 +00:00
erwin.coumans@gmail.com 1ca0493dc4 Build full A matrix and b vector for a MLCP solver interface, to explore Lemke, Dantzig, Newton and other MLCP solvers. The A matrix contains sparsity information.
Added a PGS solver that uses the sparsity of the A matrix, just for testing (the equivalent sequential impulse solver is much faster, not having to allocate the big matrices)
2013-10-20 17:38:14 +00:00
erwin.coumans@gmail.com 5bd6decb2e Use the more accurate, but slightly slower, gjk ray test by default, instead of the sub-simplex convex cast.
Set the rayCallback.m_flag  btTriangleRaycastCallback::kF_UseSubSimplexConvexCastRaytest to enable the previous approximate/faster ray test.
2013-10-19 16:42:17 +00:00
erwin.coumans@gmail.com d4640227ce add option to disable btMultiBody self-collision (for the entire hierarchy) or to disable parent-child collision for jointed links. 2013-10-08 00:50:40 +00:00
erwin.coumans@gmail.com 34d975143e expose maximum applied impulse for btMultiBody, introduced to reduce/avoid 'exploding' simulations
use btScalar instead of float, to enable double precision build, fix for Issue 744
2013-10-06 17:13:08 +00:00
erwin.coumans@gmail.com 488dd44835 Added btMultiBodyPoint2Point, it can be used between btMultiBody vs btMultiBody or btMultiBody vs btRigidBody
Allow picking of btMultiBody, using a btMultiBodyPoint2Point constraint, with limited strength to avoid adding too much energy to the system (= blowup)
Add btMultiBodyJointMotor, it can be used in combination with joint limit (just add the joint limit after the motor, to avoid jitter)
2013-10-05 01:46:32 +00:00
erwin.coumans@gmail.com 2fb686b937 change btMultiBody to allow removal/changing of links
(still not easy to modify the link structure of a btMultiBody -> You have to manually re-link parents, copying links around etc)
2013-10-03 05:13:41 +00:00
erwin.coumans@gmail.com 88b8ae552b add a btFixedConstraint with toggle between btGeneric6DofConsraint and btFixedConstraint in VoronoiFractureDemo 2013-10-02 21:50:50 +00:00
erwin coumans fcd5541b04 fix BasicGpuDemo compilation 2013-09-17 14:46:11 -07:00
erwin.coumans@gmail.com 2bb26cbb7d Enable btHeightfieldShape in VehicleDemo, so it is tested (using heightfield128x128)
(converted raw data to .cpp so it doesn't need to be loaded from disk)
Some optimizations for btHeightfieldShape, thanks to Danny Chapman
 Quick check on AABB (was not done) and reduce calls to 'getVertex'
2013-09-10 00:57:00 +00:00
erwincoumans e2accf82a0 update readme.txt with some basic Bullet 3.x information 2013-09-09 09:02:38 -07:00
erwincoumans 01d62b12bb adjust velocity after solving PBD springs/links 2013-09-06 23:18:14 -07:00
erwincoumans 40acf922e3 add Thomas Jacobsen / position based dynamics cloth constraint solver 2013-09-06 19:50:58 -07:00
erwincoumans 8faac34801 move ExplititEuler cloth solver to its own file, so it can be replaced by PDB, implicit euler etc
add wireframe toggle ('w' key)
add --paused command-line option to start simulation in paused mode
render cloth using drawPoints method
2013-09-06 18:09:35 -07:00
erwincoumans d0faea90f9 Merge branch 'master' of https://github.com/erwincoumans/bullet3
Conflicts:
	btgui/OpenGLWindow/GLInstancingRenderer.cpp
2013-09-06 14:34:47 -07:00
erwincoumans 8bee4ed64d replace doc with SIGGRAPH version 2013-09-06 14:33:18 -07:00
erwincoumans ef42c17143 add drawPoint/drawLine (both slow) and drawPoints (faster) to GLInstancingRenderer, with GLSL shaders 2013-09-06 12:05:56 -07:00
erwin coumans b79146c7fa add simple place holder for cloth simulation 2013-09-03 15:09:12 -07:00
erwincoumans b1bab032b1 add CpuSoftBodyDemo (empty placeholder) 2013-09-03 08:48:27 -07:00
erwincoumans 181a323631 move b3RaycastInfo.h so it can be used without OpenCL dependency
add b3Assert to make sure m_maxShapeCapacityInBytes is not exceeded in GLInstancingRenderer
prepare for CpuSoftClothDemo
2013-09-02 22:31:48 -07:00
erwincoumans d0da37f3dd Merge pull request #14 from mgerhardy/master
* fixed small readme.txt error
2013-09-02 04:41:54 -07:00
erwincoumans 5a1d0d8170 more work towards shared CPU/OpenCL codebase 2013-08-30 21:38:04 -07:00
erwin coumans a6d9cf382f more work towards cpu pipeline, sharing OpenCL kernel code 2013-08-30 16:30:22 -07:00
erwin.coumans@gmail.com dfaed4b258 fix a line in unused testing code (USE_GJK should be defined) 2013-08-30 18:43:10 +00:00
erwincoumans 0ccb6922a8 more work towards CPU version 2013-08-30 08:06:46 -07:00
erwin coumans f3c764102f add new files 2013-08-28 08:53:54 -07:00
erwin coumans c901767b77 add RenderDemo to CpuDemo. 2013-08-28 08:51:20 -07:00
erwincoumans 412ddacee6 prepare towards CPU version of rigid body pipeline 2013-08-27 20:16:51 -07:00
erwincoumans 87639bca60 Update readme.txt
shorten command-line parameter explanation and remove non-functional parameters
2013-08-26 22:25:02 -07:00
erwincoumans 44f4f2c6dd Update readme.txt
Add some explanation of command-line parameters for App_Bullet3_OpenCL_Demos_* and a reference to http://www.multithreadingandvfx.org/course_notes
2013-08-26 22:20:48 -07:00
erwincoumans c25b24267f Update readme.txt
add some explanation of command-line parameters for App_Bullet3_OpenCL_Demos_* and a reference to http://www.multithreadingandvfx.org/course_notes
2013-08-26 22:18:55 -07:00
erwincoumans ad8d0e32f4 expose 2 new command-line options [--disable_cached_cl_kernels] [--load_cl_kernels_from_disk]
on Windows (_WIN32) debug output goes to BOTH console and Visual Studio output log window.
2013-08-26 21:58:55 -07:00
erwin.coumans@gmail.com e045896e92 Releasing, add files that contain VERSION information for a release and remind to cr-create serialization data structure file 2013-08-26 19:06:16 +00:00
erwin.coumans@gmail.com f23693147c Clarify Bullet 2.x release procedure 2013-08-26 19:02:17 +00:00
erwincoumans d32629dbe2 add the option to load a set of AABB's from a file, see PairBench
You can use the following command-line arguments:
App_Bullet*.exe --selected_demo=10 --cl_platform=1 --pair_benchmark_file=64006GPUAABBs.txt --benchmark
2013-08-23 17:55:28 -07:00
erwin coumans 96994d3dd5 fix typo in b3Vector3 2013-08-22 23:25:00 -07:00
erwin coumans f12fe0237b Merge branch 'master' of https://github.com/erwincoumans/bullet3 2013-08-22 23:16:02 -07:00
erwin coumans 2c019d579f reduce memory allocation, lack of GPU memory totally destroys performance on my GTX 650M on the Macbook retina
add some keys to toggle gui drawing and shadows
2013-08-22 23:15:37 -07:00
Erwin Coumans 74948ede54 fix Linux build 2013-08-22 17:49:59 -07:00
erwincoumans 677722bba3 support compound versus compound collision shape acceleration on GPU, using aabb tree versus aabb tree.
Remove constructor from b3Vector3,  to make it a POD type, so it can go into a union (and more compatible with OpenCL float4)
Use b3MakeVector3 instead of constructor
Share some code between C++ and GPU in a shared file: see b3TransformAabb2 in src/Bullet3Collision/BroadPhaseCollision/shared/b3Aabb.h
Improve PairBench a bit, show timings and #overlapping pairs.
Increase shadowmap default size to 8192x8192 (hope the GPU supports it)
2013-08-20 03:19:59 -07:00
erwincoumans 41ba48b10d fix compound-compound tree/tree collision on the host side (still need to implement it for all cases, and on GPU/OpenCL) 2013-08-16 10:33:38 -07:00
erwin coumans 58eaa609e0 added b3Aabb.h header, can be shared between C++ and OpenCL 2013-08-16 09:13:14 -07:00
erwin coumans ef224370ab implement compound versus compound BVH acceleration (quantized tree-versus-tree, using subtrees and quantization) on host 2013-08-16 08:58:52 -07:00
erwin coumans b32ae0c75c move some files to shared folders
use b3Aabb for compound vs compound on host (for testing, towards BVH)
2013-08-14 17:48:12 -07:00
erwincoumans 678f634699 fix compound collision (host side) 2013-08-11 20:02:07 -07:00