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
338118b3c6
expose the number of frame that the benchmark mode runs as commandline parameter:
...
for example --max_framecount=1000
2013-07-30 18:00:14 -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
erwin coumans
3ccc9680a1
add some basic build instructions and license info
2013-07-21 22:11:55 -07:00
erwin coumans
482212b702
add some basic build instructions and license info
2013-07-21 22:07:40 -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
Erwin Coumans
415c6cd24d
fix OSX Multithreading test
2013-07-18 21:21:10 -07:00
erwincoumans
2f0fd80c9c
enable poxix MultiThreading sample under Linux
2013-07-18 21:18:09 -07:00
erwincoumans
12a4480d08
select different default demos
2013-07-18 17:43:51 -07:00
Erwin Coumans
0399b55e1c
add modifier support for Mac
2013-07-18 17:29:27 -07:00
erwincoumans
41d0ade9d8
don't load missing test files
2013-07-18 16:31:26 -07:00
erwincoumans
392347b202
use Control or Alt under Linux for Maya style mouse control (Ubuntu hijacks Alt)
2013-07-18 16:28:41 -07:00
erwincoumans
a5b73e7c76
use Syoyo Fujita's Wavefront obj loader. made some performance improvements in debug mode for Visual Studio
...
use Maya style controls under Windows (need to fix Linux/OSX) use ALT+mouse to rotate, and mouse pick to pick objects
2013-07-18 15:55: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
6d7d2531b5
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2013-07-16 19:05:34 -07:00
erwincoumans
3beae80a73
prepare for GPU fixed constraint (not done yet)
2013-07-16 19:05:07 -07:00
erwincoumans
b448e56a51
add basic CPU multi threading files from Bullet 2.x (still need to make it work)
2013-07-16 18:16:54 -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
Erwin Coumans
71a31fbf49
kernel breaks on Mac OSX, so disable it on __APPLE__
2013-07-13 00:21:56 -07:00
erwin coumans
4b293130bd
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2013-07-12 20:46:49 -07:00
erwin coumans
061f7173b8
compute best axis on host and OpenCL for 1-axis SAP, based on best variance
2013-07-12 20:46:43 -07:00
erwin coumans
0fcdd290f5
remove dynamic OpenCL allocations at run-time
2013-07-12 16:00:25 -07:00
erwin coumans
74aa499ab6
fix b3GpuDynamicsWorld
2013-07-11 11:02:10 -07:00
erwin coumans
2aad8419b7
add support for picking, using point 2 point constraint
...
allow to remove constraints by unique id
added tiny wavefront loader, plan to use this instead of existing slow wavefront loader
2013-07-10 00:21:23 -07:00
erwin coumans
9610b369a3
fix constraint issue with b3GpuDynamicsWorld
2013-07-09 19:32:14 -07:00
erwin coumans
a3c2456c65
introduce b3GpuSolverConstraint and fix Windows build
2013-07-09 18:03:51 -07:00
erwincoumans
282e19171f
fix Linux version of ConstraintDemo
2013-07-09 14:41:56 -07:00
erwin coumans
4a0d2847c4
allow to run each part of the GPU solver on CPU, for debugging purposes
2013-07-09 13:07:34 -07:00
erwin coumans
38bfcc859b
fix linux build
2013-07-09 11:36:21 -07:00
erwin coumans
bd2cd7b2a7
remove clFinish and copyToHost from GPU joint solver, performance is looking better now.
2013-07-09 11:19:16 -07:00
erwin coumans
c4375a09e4
added GPU joint solver for non-contact constraints. Only point 2 point version for now, will add some other constraints soon (changes are very local)
2013-07-09 10:46:47 -07:00
erwin coumans
b8d5cecfe3
joint (non-contact constraint) solver iterations is now working on GPU, but overall slower because of data copy.
...
Will move joint setup to GPU, and then some benefit should be visible.
Don't use 64 alignment, it causes data structures size mismatch between cpu and gpu
2013-07-06 14:11:32 -07:00
erwin coumans
3ca4d68f3e
added jointSolver.cl/h (not working yet)
2013-07-06 13:20:34 -07:00
erwin coumans
b18e03d737
work towards GPU joint solver (non-contact constraints), not working yet.
2013-07-06 13:11:13 -07:00