Commit Graph

21 Commits

Author SHA1 Message Date
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
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
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
0ccb6922a8 more work towards CPU version 2013-08-30 08:06:46 -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
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
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
1c0fc6bc2d report when compound pair capacity is exceeded (and avoid crash)
add tetrahedron, reorganized demos
2013-07-30 17:00:50 -07:00
erwin coumans
0fcdd290f5 remove dynamic OpenCL allocations at run-time 2013-07-12 16:00:25 -07:00
erwin coumans
6d6ef5d3dc fixed many memory leaks
added working shadows, using basic shadow mapping
2013-06-30 23:19:14 -07:00
erwin coumans
531af1b394 add ray-convex CPU implementation, make CPU raytest default for now
tweak/increase the b3Config values again, so it works better on the Macbook Retina GPU.
2013-06-20 00:29:09 -07:00
erwincoumans
561a44e5d8 Try to avoid crashes if memory allocations fail
Deal with cases exceeding allocations of bodies/shapes above the limits set in b3Config
(work-in-progress )
2013-06-17 15:55:41 -07:00
erwin coumans
100449d76f faster scene construction when not using instancing (avoid copy individual vertices/shapes to GPU, but do it afterwards in a batch), copy GPU data in 'writeAllBodiesToGpu' method
add option --no_instanced_collision_shapes, this only applies to the 2 benchmark screnes at the moment
always use the user specified b3Config file, so the settings can be set at runtime, not just at compile time
adjust default constants in b3Config (needs more tweaking, ideally at run-time)
2013-06-08 11:08:44 -07:00
erwincoumans
9fe48d887d b3GpuDynamicsWorld improvements:
apply forces
copy linear/angular velocity every frame at the CPU side, initial velocity works now
hook up setGravity
Note: the 'stepSimulation' for GPU only simulates a single simulation frame.
2013-06-06 22:01:06 -07:00
Erwin Coumans
a9d4184e2d fix Mac version of cloth rendering 2013-06-03 17:35:31 -07:00
erwin coumans
a886a978b7 add preliminary GPU ray cast (brute-force slow, only against sphere, allocates OpenCL buffers at every cast) 2013-05-28 18:39:53 -07:00
erwin coumans
6ee9eb9bb5 fix bug in assignment of contact constraints to solver grid (always use dynamic body to determine constraint assignment, otherwise write conflicts can occur)
implement CPU version of narrowphase convex collision, for comparison/debug purposes
start towards cpu/gpu sync, for adding/removing bodies (work in progress)
2013-05-02 09:49:16 -07:00
erwincoumans
e999903c15 resolve some naming conflicts between Bullet 3.x and Bullet 2.x
add BasicGpuDemo that bridges Bullet 2.x and Bullet 3.x (still preliminary/crashing/instable)
2013-04-30 18:17:44 -07:00
erwincoumans
3ac332f3a7 reorder files, in preparation for Bullet 3 -> Bullet 2 merge 2013-04-29 19:04:08 -07:00