Commit Graph

2001 Commits

Author SHA1 Message Date
erwin.coumans
e792f0e549 Add faster processing of btCompoundShape versus btCompoundShape, using a dedicated btCompoundCompoundCollisionAlgorithm,
with hash pair caching and tandem tree traversal. It should be much faster, when using many child shapes for both compounds.
Fix iOS compilation, added header.
2013-09-12 19:28:39 +00:00
erwin.coumans
a197c58935 Add #ifdef BT_NO_SIMD_OPERATOR_OVERLOADS before including Bullet headers, to avoid clashes with XNAMath.h
Fixes Issue 710
error C2084: function 'XMVECTOR operator +(FXMVECTOR,FXMVECTOR)' already has a body
error C2084: function 'XMVECTOR operator -(FXMVECTOR,FXMVECTOR)' already has a body
error C2084: function 'XMVECTOR operator *(FXMVECTOR,FXMVECTOR)' already has a body
2013-09-11 00:01:48 +00:00
erwin.coumans
bb379bd84c fix one of the btCompoundShape scaling issues, this fix breaks the API (need to add warning at the next release)
fixes https://code.google.com/p/bullet/issues/detail?id=374 and
https://code.google.com/p/bullet/issues/detail?id=444
2013-09-10 23:34:23 +00:00
erwin.coumans
7195b54d13 Fix Issue 712, related to NVIDIA CUDA check in CMakeLists.txt
Enable btGImpact raycast optimization, thanks to C0DEFACE, see Issue 664
Cull triangle/AABB for concave/heightfield shapes, thanks to Danny Chapman
fix btGetCpuCapabilities, thanks to Ian Ollman! See https://code.google.com/p/bullet/issues/detail?id=738
2013-09-10 23:09:24 +00:00
erwin.coumans
7633dc8b13 use __int64 for 64bit uint64_t for 64bit Visual Studio
See https://code.google.com/p/bullet/issues/detail?id=717
allow parallel constraint solver in double precision
See https://code.google.com/p/bullet/issues/detail?id=728
2013-09-10 21:26:19 +00:00
erwin.coumans
c160bfe74c applied Character controller patch #20 from Issue 198
See https://code.google.com/p/bullet/issues/detail?id=198
2013-09-10 20:40:42 +00:00
erwin.coumans
0779a274de fix Clang issue
https://code.google.com/p/bullet/issues/detail?id=736
2013-09-10 20:06:24 +00:00
erwin.coumans
771ae1ce41 fix usage of internal API for Apple iOS devices
Thanks to nharishankar for the report, see Issue 738
2013-09-10 19:59:33 +00:00
erwin.coumans
6b3828d74b removed the early out, it was not general 2013-09-10 19:52:58 +00: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
erwin.coumans
197e17780a replace 'float' by 'double' in btHingeConstraintDoubleData. See Issue 734 2013-09-03 16:46:18 +00: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
erwincoumans
ad8d0e32f4 expose 2 new command-line options [--disable_cached_cl_kernels] [--load_cl_kernels_from_disk]
on Windows (_WIN32) debug output goes to BOTH console and Visual Studio output log window.
2013-08-26 21:58:55 -07:00
erwin coumans
96994d3dd5 fix typo in b3Vector3 2013-08-22 23:25:00 -07:00
erwin coumans
f12fe0237b Merge branch 'master' of https://github.com/erwincoumans/bullet3 2013-08-22 23:16:02 -07:00
erwin coumans
2c019d579f reduce memory allocation, lack of GPU memory totally destroys performance on my GTX 650M on the Macbook retina
add some keys to toggle gui drawing and shadows
2013-08-22 23:15:37 -07:00
Erwin Coumans
74948ede54 fix Linux build 2013-08-22 17:49:59 -07:00
erwincoumans
7f29aebaa4 fix broken force feedback in constraint solver, thanks to John Hsu for the report 2013-08-21 23:00:17 +00:00
Erwin Coumans
d860e7f51a fix Mac OSX build (compound-compound still broken on OSX)
remove operator= from b3Vector3 to make it POD/Plane Old Data
2013-08-20 12:45:05 -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
erwincoumans
41ba48b10d fix compound-compound tree/tree collision on the host side (still need to implement it for all cases, and on GPU/OpenCL) 2013-08-16 10:33:38 -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
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
678f634699 fix compound collision (host side) 2013-08-11 20:02:07 -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
906415429c added (and stripped) a simple C/C++ preprocessor (written in Lua), so the stringifier can handle the #include directive,
and embed the included files directly in the stringified files.
We need this, because we start sharing struct definitions and code between C/C++ and OpenCL (and potentially other languages)
preprocessor is from http://github.com/willsteel/lcpp
2013-08-01 21:05:19 -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
2793a174c6 added fracture scene .bullet file (doesn't work well yet)
added tetrahedral mesh test scene
expose b3Config as member variable for demos.
move a 'glFlush' out of the innerloop (render performance)
SSE -> SSE2 in premake
fix crash in broadphase (when no aabb's exist)
2013-07-30 12:37:16 -07:00
erwincoumans
c05c4b00bb fix linux build
w
2013-07-21 08:43:45 -07:00
erwin coumans
310d31f3d5 tweaks to demos, add middle-mouse support, 2013-07-21 00:36:00 -07:00
erwin coumans
5991eef749 add GPU incremental 3d sap (not enabled by default) 2013-07-20 21:16:24 -07:00
erwincoumans
01fbe80f8f use int instead of void to avoid 64bit error 2013-07-19 07:10:38 -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
erwincoumans
ab125fbb6d implement GPU breakable constraints
add GPU fixed constraint
fix performance issue with concave meshes (didn't clear the number of concave-convex pairs, so it increased every frame)
2013-07-17 16:11:54 -07:00
erwincoumans
3beae80a73 prepare for GPU fixed constraint (not done yet) 2013-07-16 19:05:07 -07:00
erwincoumans
20f9e41ff0 remove some debug printf's from kernel (stringify doesn't handle it properly) 2013-07-15 10:36:02 -07:00
erwincoumans
a5d00c8219 add some clFinish for better profile timings
improved parallel batching, don't try to write for static objects,
this fixed a bug, when the hash of a static object was identical with hash of dynamic objects, causing it to be assigned a bogus 100+i batching number
The parallel batching is still not enabled, because we need to measure the batching size (todo)
2013-07-15 10:22:40 -07:00
erwincoumans
05ed1fdbcf revert to useNewBatchingKernel, the other one is broken (need to figure out why) 2013-07-15 01:06:04 -07:00
erwin coumans
cc188ca815 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2013-07-14 19:16:55 -07:00
erwin coumans
1e31073f4b made the simulation deterministic
disable 'simdwidth' optimization for determinism (need to double-check)
made the spatial batching 3D
2013-07-14 19:16:33 -07:00