Commit Graph
100 Commits
Author SHA1 Message Date
Erwin Coumans ac32af2b1c fix linux build (case sensitive folder Test -> test etc) 2014-01-31 22:40:42 -08:00
Erwin Coumans 65cfcdb9ac improve printf/warning/error on Mac OSX 2014-01-31 15:05:13 -08:00
erwincoumans 0cfd84c920 add TestBullet3OpenCL unit test using GoogleTest framework 2014-01-31 20:42:58 -08:00
erwincoumans 863ac2c477 add unit tests for OpenCL kernel compilation for all Bullet 3 kernels (using GoogleTest) 2014-01-31 20:41:13 -08:00
Erwin Coumans d37a40caf1 add GoogleTest gtest-1.7.0 and simple hello_gtest (preparation for unit tests) 2014-01-31 00:18:35 -08:00
erwincoumans 2901d4682e don't use the vendor OpenCL sdks (commented out in 'findOpenCL.lua' file), just use clew 2014-01-30 06:05:34 -08:00
erwin coumans 50c61b0d11 just show maximum memory in OpenCL initialization/memory allocation test 2014-01-30 11:22:08 -08:00
erwincoumans 7e68724ca6 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2014-01-29 05:48:11 -08:00
Erwin Coumans 183901dc57 remove OpenGL 2.x call, it breaks Mac OSX 2014-01-29 15:47:02 -08:00
erwincoumans 31998c8e7d minor issues (don't use \n in B3_PROFILE, and don't report timing inaccuracy in console 2014-01-29 15:25:36 -08:00
erwincoumans 3e8b183587 Avoid breaking up the clipHullHull kernel, it ruins performance. Unfortunately, Mac OSX still requires it.
Use indices instead of copies for small/large aabbs in broadphase (grid / sap)
2014-01-29 15:20:20 -08:00
erwincoumans ff051f87aa replace 'copy' step of large/small Aabbs by indices 2014-01-29 12:52:31 -08:00
erwincoumans 51036713f0 Initialize 64bit user pointer, thanks to AndresTraks
See https://github.com/erwincoumans/bullet3/issues/33
2014-01-29 05:47:45 -08:00
erwin coumans 33ebebd1c9 allow PairBenchmark to select broadphase type, with cpu brute-force, gpu brute-force etc
fix issue in PairBench, related to index offset
allow to add a large AABB in PairBench, to see the effect on the broadphase pair search performance
2014-01-28 17:11:56 -08:00
Erwin Coumans 71f0537c6e add Bullet 2.x constraint solver tests for hinge, with large mass ratio
experiment with Midi controls in PairBenchmark to tune variables (will move it into a utility class, so every demo can easier use it in the future)
fix issue with broadphase, not initializing all pairs properly at pair array overflow
2014-01-28 10:25:04 -08:00
Erwin Coumans e3ee9e5b2e fix Mac OSX build, due to conflict empty #define __global and STL 2014-01-26 12:08:04 -08:00
erwincoumans 7cdda65822 Experimenting with GUI in PairBench, still preliminary. Goal is to make it easier to add variables that can be tuned using GUI/gwen
Pre-compile PairBench OpenCL kernel
2014-01-26 11:27:20 -08:00
erwin coumans ec4292ad75 add basic test texture 2014-01-17 22:19:12 -08:00
Erwin Coumans 1a507cca52 remove redundant/wrong glClear
always initialize mpr OpenCL kernels
add a second ragdoll to the demo
2014-01-16 19:18:06 -08:00
Erwin Coumans 6142bdca0a brDefaultMotionState::getWorldTransform was wrong, in case of a non-identity centerOfMassOffset.
Thanks to Mathias for the report/fix.
2014-01-16 18:47:03 -08:00
Erwin Coumans f14ec7b870 split the unitsphere search in a separate kernel, m_findSeparatingAxisUnitSphereKernel, hopefully it works on Mac OSX OpenCL now. 2014-01-16 14:19:43 -08:00
Erwin Coumans c91c2d9395 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2014-01-15 10:36:30 -08:00
Erwin Coumans 472a4068fc Enable MPR by default
Add the contact point from MPR, in addition to SAT/clipping contacts. Added a new kernel to clear/reset the number of contacts in pairs (stored in the z component)
Always sample unit sphere directions, if there are more edge-edge combinations than unit sphere directions (162 by default)
Remember last running demo for Bullet 3 (and save it in a text file, Bullet
Enable the testFileFracture.bullet in the Bullet2FileDemo
2014-01-15 10:35:51 -08:00
erwincoumans d128552803 test commit using svn 2014-01-14 09:37:28 -08:00
erwincoumans ca86e135de Update readme.txt 2014-01-10 16:59:12 -08:00
erwincoumans bff5094217 Update readme.txt
note about Bullet2 into Bullet3 merge.
2014-01-10 16:58:26 -08:00
erwincoumans c1ddbe0686 Update readme.txt
note about merging Bullet 2.x into Bullet 3.
2014-01-10 16:54:38 -08:00
Erwin Coumans 7e4b1c1c8a add MultiDofDemo (Featherstone 3DOF spherical joint)
minor prettify of BasicDemo,RagdollDemo.
require 'multiDof' argument in btMultiBody.h (not default=false)
2014-01-10 16:34:39 -08:00
Erwin Coumans a8e60b4ee5 Merge branch 'master' of http://github.com/kalesony/bullet3 2014-01-10 15:22:58 -08:00
erwin coumans 514f4fba35 fix error due to rename b3RigidBodyCL -> b3RigidBodyData 2014-01-10 11:53:02 -08:00
erwin coumans 2e55d03fd9 more fixes towards working convex-convex, in case of (too) many edge-edge cases:
1) sample directions over a unit sphere and
2) add a contact, using mpr
add missing bullet.pc.cmake file (for old Bullet 2.x)
2014-01-09 16:22:34 -08:00
Erwin Coumans 080d22d6ec rename files, fix Linux build 2014-01-07 16:21:31 -08:00
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