Commit Graph

1708 Commits

Author SHA1 Message Date
erwincoumans
050c7d9289 allow to disable 'useMpr' without crash 2014-04-08 09:05:02 -07:00
Erwin Coumans
01fe7159d9 Added CMake support to compile App_Bullet3_OpenCL_Demos 2014-03-24 15:44:45 -07:00
Erwin Coumans
35c916f487 add CMake support for AppAllBullet2Demos demo. See also https://github.com/bulletphysics/bullet3/issues/43 2014-03-24 13:18:24 -07:00
Jackson Lee
26bcff31f7 Add overlapping pairs validation to PairBench. 2014-03-19 22:35:23 -07:00
Erwin Coumans
cfb06f9cd3 make GLUT optional in cmake
fix for btMultiBody to avoid extreme energy gain
2014-03-17 23:58:03 -07:00
Jackson Lee
b709d6beeb Clean up plbvhCalculateOverlappingPairs kernel.
Also fix overlapping pair generation with triangle mesh.
(Currently, large/concave AABBs must be the first entry in a pair.)
2014-03-14 13:55:22 -07:00
Jackson Lee
f324e66f86 Add access to overlapping pairs b3OpenCLArray. 2014-03-13 21:27:15 -07:00
Jackson Lee
19b194e8fe Fix PLBVH symmetry optimization for calculateOverlappingPairs(). 2014-03-13 19:22:05 -07:00
Jackson Lee
bb0102d79b Add PLBVH documentation/slides. 2014-03-13 13:52:49 -07:00
Jackson Lee
1b85dad6b4 Fix PLBVH raycast when only 1 small AABB is added to the tree. 2014-03-11 17:43:29 -07:00
Jackson Lee
db02ced606 Clean up PLBVH construction, add comments. 2014-03-11 14:13:09 -07:00
Jackson Lee
038364ccdd Merge various commits into a single commit.
Commits after:
2014-03-03 Draft PLBVH construction using binary radix tree.
f19f853685

Are merged into a single commit; this includes:
03-10 Remove single launch build AABB kernel.
03-10 Add kernels for setting PLBVH AABBs using distance from root.
03-10 Use faster morton code, remove convertChildNodeFormat kernel.
03-09 Add duplicate morton code handling to binary radix construct.
03-09 Remove slower PLBVH constructors.
03-08 Add binary radix tree construct using binary search.
03-06 Remove slowest PLBVH constructor, fix implicit construct AABB.
03-04 Test various optimizations for PLBVH binary radix tree construct.
2014-03-10 15:33:47 -07:00
Erwin Coumans
9f92232640 fix CMake build
w
2014-03-06 13:46:25 -08:00
Jackson Lee
f19f853685 Draft PLBVH construction using binary radix tree. 2014-03-03 14:33:53 -08:00
Jackson Lee
4dcd52c090 Add only small AABBs to PLBVH, add large AABB support. 2014-02-26 15:38:59 -08:00
Jackson Lee
28da87dfc7 Split PLBVH files into .h/.cpp.
Also move PLBVH binary tree construction into separate function.
2014-02-26 15:20:12 -08:00
Jackson Lee
fe12ad9c9b Fix PLBVH with 0/1 nodes, fix optimized ray-AABB intersect. 2014-02-26 14:56:43 -08:00
Jackson Lee
c782f4976c Various minor PLBVH related changes.
-Use most significant bit instead of negative for internal nodes.
-Explicitly store root node index, so that it does not have to be 0.
-Check the root node first in PLBVH traversal.
-Fix rigid body clipping in RaytracedShadowDemo.
2014-02-24 23:50:20 -08:00
erwin coumans
d485f2b272 btMultiBodyConstraintSolver writes back the applied impulse for contact points
(added some debugging output for this in the demos, commented-out by default)
2014-02-24 16:55:54 -08:00
erwin coumans
dfa738c13a Properly propagate the applied impulse for the MLCP solvers, so it will be available for contact and non-contact constraints.
Use real-time clock in AllBullet2Demos, rather than hard-coded 1./60.
2014-02-24 13:24:49 -08:00
Jackson Lee
e4fbd5332d Accelerate GPU raycaster with PLBVH. 2014-02-23 20:40:58 -08:00
Jackson Lee
e955192971 Fix PLBVH reduction kernels, simplify nodes per level calculation.
Also calculate index ranges for each internal node.
2014-02-19 21:49:30 -08:00
Jackson Lee
7f0e361fa0 Use merged AABB to calculate grid cell size for PLBVH. 2014-02-18 19:59:05 -08:00
Jackson Lee
b7b7356af8 Draft Parallel Linear BVH Broadphase. 2014-02-18 19:23:25 -08:00
erwincoumans
122ceacb6d move OpenCL initialization for the unit tests in a shared header file, and support some basic command-line arguments
--cl_device=1 --cl_platform=1 --allow_opencl_cpu
add chaindemo, test for mass ratios
restore sleeping/activation mode in featherstone demo
Use _VARIADIC_MAX=10 to avoid Google Test issues with Visual Studio 2012, thanks to Mobeen for the report
Enable verbose printf for unit tests
2014-02-11 10:33:00 -08:00
erwincoumans
bd5c2ff5ec batching reports the size of the batches, and solver uses this as termination condition, giving a good speedup 2014-02-07 06:28:15 -08:00
Erwin Coumans
db188990fc ftello64 -> ftell and fopen64 -> fopen (to make Mac OSX happy)
disable some warning (no idea why weak_link is there)
2014-02-04 14:52:57 -08:00
Erwin Coumans
2a87706114 Revert "fix Mac OSX build (and remove 'weak link' warning)"
This reverts commit 146bbefc03.
2014-02-04 14:44:16 -08:00
Erwin Coumans
146bbefc03 fix Mac OSX build (and remove 'weak link' warning) 2014-02-04 14:05:21 -08:00
Erwin Coumans
94db38358c add zlib/minizip so we can load compressed data (github/git is bad in handling large binary files) 2014-02-04 13:39:55 -08:00
Erwin Coumans
e4e2cb0d39 fix alignment issue in a unit test 2014-02-04 10:36:34 -08:00
Erwin Coumans
7cf83a4be0 attempt to fix compile issue with Clang 2014-02-02 10:42:56 -08:00
Erwin Coumans
65cfcdb9ac improve printf/warning/error on Mac OSX 2014-01-31 15:05:13 -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
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
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
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
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
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
0ed7b5c508 adding check on low number of vertices fixes Mac OSX crash 2014-01-16 15:53:53 -08:00
Erwin Coumans
edb0c72166 enable MPR OpenCL for Mac OSX 2014-01-16 14:24:18 -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
b53cc5edb8 disable Mpr on Mac OSX (need to split the kernel again...) 2014-01-15 11:24:35 -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
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