erwincoumans
ed73bce9da
Move Bullet 2.x demos in a single demo 'AllBullet2Demos', for now only BasicDemo and FeatherstoneDemo is implemented.
2014-01-05 21:58:30 -08:00
erwincoumans
6f9a1c0da2
disable MPR until some issues are fixed (on an NVIDIA GPU, sat axis are not properly computed, resulting in instability)
2014-01-04 21:44:53 -08:00
erwincoumans
271f458837
Ported Minkowski Portal Refinement mpr.c from libccd to OpenCL, for bettwe edge-edge performance (and additional contact point for degenerate/high detailed convex shapes)
...
Removed b3RigidBodyCL, replace by b3RigidBodyData and b3RigidBodyData_t shared between C++ host and OpenCL,
Same for b3InertiaCL -> b3InertiaData
2014-01-04 20:54:27 -08:00
erwin coumans
12dd0daebc
prepare for Bullet 2 demo collection
2013-12-19 22:14:37 -08:00
erwin coumans
abeea0c8b0
add Bullet icon files
2013-12-19 12:41:36 -08:00
erwin coumans
69e5454d18
Add the old Bullet 2.x obsolete demos, and CMake buildsystem files, and gradually move them to newer Bullet 3.x structure
...
Use statically linked freeglut, instead of dynamic glut for the obsolete Bullet 2.x demos
Add the 'reset' method to b3GpuDynamicsWorld, and use it in the BasicGpuDemo (pretty slow in debug mode, use release mode)
Don't crash in btCollisionWorld, if there is no collision dispatcher
2013-12-19 12:40:59 -08:00
Erwin Coumans
222ecb156d
add GImpact and BulletSoftBody, until we have replacement (otherwise it prevents people from migrating to the github/Bullet3 repository)
2013-12-18 09:05:30 -08:00
erwin coumans
09ba86ea36
fix cpu version of findCompoundPairs, in order to fix Mac OSX OpenCL compound issues
2013-12-17 19:25:53 -08:00
Erwin Coumans
7bde13be62
fix issue (apparently closestFaceA/B can be -1, need to figure out how that can ever happen (it shouldn’t)
2013-12-17 16:50:50 -08:00
erwin coumans
7964f2d8c1
split OpenCL kernels: fatal error C1091: compiler limit: string exceeds 65535 bytes in length
2013-12-17 12:33:38 -08:00
Erwin Coumans
7e86932edf
avoid out-of-bounds issue for some OpenCL kernel, hanging Mac OSX (should not happen, need to check why)
...
split kernel for debugging
2013-12-17 10:44:41 -08:00
erwin coumans
7b55ffd237
more rewriting to get this #@!#@!&*( Mac OSX GPU to work
2013-12-16 15:23:43 -08:00
erwin coumans
1dce953d76
one more debug option for a kernel, to fix a Mac OSX issue (one more to go...)
2013-12-16 12:36:22 -08:00
erwincoumans
fc474a0e62
more debugging to fix Mac OSX OpenCL issue on certain GPUs.
2013-12-16 10:53:38 -08:00
erwincoumans
dca5bbb744
Update readme.txt
...
add a few more (experimental) command line arguments to readme.txt
2013-12-14 11:21:57 -08:00
erwin coumans
9ebef9552b
implement 'new contact reduction' kernel on CPU , for debugging
2013-12-14 10:54:25 -08:00
erwin coumans
d24b1eaae9
better host check code, to determine failing OpenCL kernels on certain (Apple) platforms
2013-12-13 13:27:00 -08:00
erwin coumans
571b14787a
implement clipFacesAndFindContactsCPU, to track down OpenCL issue on Mac OSX
2013-12-13 10:05:07 -08:00
Erwin Coumans
33889a3dc9
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2013-12-13 08:40:18 -08:00
Erwin Coumans
f9c22b61af
fix Mac OSX build
2013-12-13 08:40:05 -08:00
erwin coumans
3fe969c4ee
b3Solver -> pass pointer to source instead of 0 (was left over from a debugging session), thanks to David for the report
...
Break up clipHullHullConcaveConvexKernel into multiple stages, so it might 'fit' in Apple's OpenCL implementation
Implemented bvhTraversalKernel and findConcaveSeparatingAxis on CPU (debugging, possible future CPU version)
2013-12-13 07:52:41 -08:00
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