erwincoumans
ab8f16961e
Code-style consistency improvement:
...
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
Erwin Coumans
dae8af0a78
remote b3GjkPairDetector, it is obsolete and unused, causing clang compile problems
...
see https://github.com/bulletphysics/bullet3/issues/1347
2017-09-28 15:45:14 -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
hujiajie
8c573177eb
[Working In Progress] Suppress compiler warnings.
...
Suppress several warnings about unused variables.
2016-07-10 23:18:03 +08:00
erwincoumans
2ef8669e75
Merge pull request #581 from erwincoumans/master
...
Use higher precision GJK/EPA collision tolerances in double precision mode. Fix Lua example
2016-03-12 08:58:16 -08:00
Erwin Coumans
87e5128ba8
fix some typos (need to merge into a single implementation later!)
2016-03-11 17:47:00 -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
Erwin Coumans
91204e8ed2
avoid naming conflicts Bullet3/Bullet3
2015-11-08 19:31:03 -08:00
Erwin Coumans
72b68409da
clang gets confused/crashes when using the same namespace,
...
need to look if it is a real error or clang issue
should fix Issue 520
https://github.com/bulletphysics/bullet3/issues/520
2015-11-08 13:49:37 -08:00
erwincoumans
050c7d9289
allow to disable 'useMpr' without crash
2014-04-08 09:05:02 -07: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
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
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
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
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
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
Erwin Coumans
5eb8fd33ad
enable MPR by default, needs more testing on various OpenCL configurations (OS, drive, GPU etc)
2014-01-04 21:33:16 -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
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
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
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
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
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
a6bc61ad1a
tweaked the particle demo a little bit
2013-11-08 23:21:01 -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
erwin coumans
fcd5541b04
fix BasicGpuDemo compilation
2013-09-17 14:46:11 -07: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
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
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