Matthew Endsley
4c00b674b3
Optimize Dbvt trees in place
...
Instead of allocating new vectors for each partition, simply partion the
nodes in place and pass the corresponding ranges to the next phase.
2017-08-30 10:27:38 -07:00
Erwin Coumans
c0c4c8ba3f
fix many warnings
...
remove btMultiSapBroadphase.*
make collisionFilterGroup/collisionFilterMark int (instead of short int)
2017-01-15 22:26:11 -08:00
Erwin Coumans
dcd02a1e15
add option to terminate PGS constraint solvers based on a least square residual threshold
...
(for example solverInfo().m_leastSquaresResidualThreshold = 1e-7 and use large m_numSolverIterations
disable sphere-sphere contact cache, it is buggy (some contact point stay in the cache, when sphere penetrates more than total margins)
tweak some gpu demo settings
2016-12-16 18:09:52 -08:00
Matthew Woehlke
ef943bdcf0
Add "missing" virtual dtor
...
Make the dtor of b3DynamicBvhBroadphase virtual, to match that the type
has other virtual methods. This silences a -Wvirtual-dtor warning.
2016-09-15 12:17:23 -04:00
hujiajie
8c573177eb
[Working In Progress] Suppress compiler warnings.
...
Suppress several warnings about unused variables.
2016-07-10 23:18:03 +08:00
hujiajie
ad6fb3afc1
The 'static' storage-class specifier is not supported in OpenCL.
...
This is documented in Section 6.8 (g) in OpenCL 1.1 specification.
2016-03-08 08:49:28 +08:00
Andrew Meadows
c0c1691c25
fix whitespace formatting in cmake files
2015-12-07 14:08:04 -08:00
erwin coumans
dc81e31e74
upload work-in-progress Collision example using C-API.
2015-10-28 11:48:36 -07:00
erwin coumans
5a21424662
update to examples/Collision and RealTimeBullet3Collision
2015-10-18 23:43:37 -07:00
erwin coumans
7ac497d6f2
WIP example for real-time collision detection features of Bullet
2015-10-18 14:01:25 -07:00
erwincoumans
6c9ce344ea
fix shadowmap crash on some Intel GPUs, see https://github.com/bulletphysics/bullet3/issues/4
...
remove targetdir from all libraries in premake, so it is much easier to create a separate folder for all binary+lib
transmit the serialized btMultiBody data back from server to client, after the server loads a URDF file. This includes base+link+joint names
tweak the serialization routines, so it is easier to skip pointers and to serialize directly to a shared memory buffer
also tweak the serialization code to allow to process data without 'DNA' schema data (assuming file-DNA = memory DNA)
2015-07-10 22:20:06 -07:00
erwin coumans
01ce7a0288
remove a few unused variable, and add casts to avoid warnings
2014-05-16 08:59:34 -07:00
xantares
477cfc6fe6
Fix linux|mingw shared|static build
2014-04-09 08:59:09 -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
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
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
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
9ebef9552b
implement 'new contact reduction' kernel on CPU , for debugging
2013-12-14 10:54:25 -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
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
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
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
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
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
erwincoumans
0ccb6922a8
more work towards CPU version
2013-08-30 08:06:46 -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
erwin coumans
58eaa609e0
added b3Aabb.h header, can be shared between C++ and OpenCL
2013-08-16 09:13:14 -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
ac23dbc4be
contact normal should point from B to A (to be consistent with Bullet 2.x)
...
stringify: pre-allocate bigger buffer (10MB, workaround)
2013-08-10 12:08:15 -07:00
erwincoumans
d158507c03
remove m_localPosA for now (it breaks NVIDIA OpenCL, copy of structs > 128 bytes)
2013-08-08 13:28:23 -07:00
erwincoumans
3bf003ace1
change lcpp Lua preprocessor, to keep #defines and comments, remove empty lines
...
remove duplicate data in b3Contact4 (now in btContact4Data shared between CPU/C++ and OpenCL)
OpenCL kernels use #include "Bullet3Collision/NarrowPhaseCollision/shared/b3Contact4Data.h"
Increase number of batches back to 250 (from 50), need to fix this hard coded number (see https://github.com/erwincoumans/bullet3/issues/12 )
Work towards GJK/EPA, in addition to SAT/clipping (early on)
2013-08-08 12:24:09 -07:00
erwincoumans
46a08e3282
add missing header file, test case for sharing code between C++ / OpenCL
...
The headers are recursively embedded, only the necessary parts (skipping parts behind undeclared ifdefs)
2013-08-03 11:12:51 -07:00
erwincoumans
18eed5b067
further work towards sharing structures/code between C++ and OpenCL
...
(could break the build in C++/OpenCL)
2013-08-03 10:13:13 -07:00
erwincoumans
34de49d8a4
add gjk/epa (host only), possibly improve convex-convex with many edge-edge tests
...
more preparation towards persistent/incremental contact cache
2013-07-31 23:22:43 -07:00
erwincoumans
7992ff816b
use int4 for broadphase pair, it allows to store persistent information in the future
...
(contact cache, applied impulse/warm starting info etc)
2013-07-31 09:58:15 -07:00
erwincoumans
733f9027fb
Deterministic simulation for concave and compound collision shapes: added childShapeA/B to b3Contact4 + sort on them
...
Use tetrahedra instead of barrel for convex demo (until performance for edge-edge is improved)
Increased #overlapping pair capacity from 12 to 16 / objec
2013-07-17 22:42:50 -07:00
erwin coumans
a69ba48de4
Move b3Quickprof.* from Bullet 3.x src folder to btgui/Timing
...
The Bullet 3.x B3_PROFILE can be customized using b3SetCustomEnterProfileZoneFunc/b3SetCustomLeaveProfileZoneFunc defined in Bullet3Common/b3Logging,
so you can hook Bullet 3.x up to your profiler of choice.
The Demos3/BasicGpuDemo will show the Bullet 3.x timings inside the Bullet 2.x btQuickprof profiler.
2013-06-19 22:08:03 -07:00
erwin coumans
70b4ead641
remove some warnings
2013-06-03 10:16:50 -07:00
erwincoumans
55b69201a9
rename to b3 convention, to avoid naming conflicts when using in combination with Bullet 2.x
2013-04-29 15:19:36 -07:00
erwin coumans
7366e262fd
bt -> b3 and BT -> B3 rename for content and filenames
2013-04-28 23:11:10 -07:00
erwin coumans
dc1984713a
add option for btDbvtBroadphase (comparison)
2013-04-20 23:59:00 -07:00
erwin coumans
9ecd898c34
re-introduce Bullet 2.x solver, in Bullet3Dynamics/ConstraintSolver/b3PgsJacobiSolver.*
...
move b3Contact and b3RigidBody
2013-04-18 23:28:13 -07:00