Commit Graph

104 Commits

Author SHA1 Message Date
erwin coumans
aa1c2db35a Add support for b3Generic6DofConstraint in Bullet, CPU only for now. Also the b3GpuDynamicsWorld supports conversion of this constraint.
This means, picking works both with and without holding SHIFT (rayTest is only implemented for spheres)
2013-06-19 12:28:51 -07:00
erwin coumans
f10eb86f55 enable the GPU ray test in BasicGpuDemo, only for spheres at the moment 2013-06-19 00:12:06 -07:00
erwin coumans
481d54967f Fixes in raycast (against sphere), point 2 point constraint
Picking test works, holding shift in App_BasicGpuDemo_*
2013-06-18 19:33:45 -07:00
erwincoumans
a81d847c24 Linux fixes 2013-06-17 22:45:59 -07:00
erwincoumans
227d88f553 fix Linux build 2013-06-17 21:57:04 -07:00
erwincoumans
41b49b6e18 use clew/clew.h path 2013-06-17 17:11:04 -07:00
erwincoumans
9a92eecf10 allow larger amount of rigid bodies, dynamically increase b3Config limits
avoid crashes in instancing renderer if instance maximum is exceeded.
2013-06-17 17:05:01 -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
erwincoumans
e179d5882e Merge branch 'master' of https://github.com/erwincoumans/bullet3 2013-06-17 13:47:41 -07:00
erwincoumans
161c48d331 work-in-progress Bullet 3.x GPU raytest
work-in-progress P2P constraint for b3GpuDynamicsWorld
2013-06-17 13:47:35 -07:00
erwin coumans
31282ab85e don't crash if the maximum number of pairs is exceeded, but report an error using b3Error 2013-06-17 13:23:41 -07:00
erwin coumans
f73d11d896 tweak default values of b3Config.h so some laptop GPUs can run 128k scenes
return the result of resize
use size_t instead of int for btOpenCLArray
BasicInitialize demo will test how much memory can be allocated, using the btOpenCLArray
2013-06-14 12:10:16 -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
erwin coumans
3f10082aa3 add missing rayCast kernel 2013-06-07 20:47:47 -07:00
Erwin Coumans
afecad3ee4 Implemented b3OpenCLUtils::setCachePath
Also made kernel caching work on Mac OSX (and likely Linux, needs testing before enabling)
2013-06-07 15:04:46 -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
7d3b656d2b fix b3Logging for Mac 2013-06-04 09:17:48 -07:00
Erwin Coumans
4dd529513f fix Mac OSX build 2013-06-04 09:09:10 -07:00
erwin coumans
ff3c79b900 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2013-06-03 17:58:15 -07:00
Erwin Coumans
a9d4184e2d fix Mac version of cloth rendering 2013-06-03 17:35:31 -07:00
erwin coumans
5317b7d0c2 add do-while to logging functions, to avoid errors in user code: if b3Error("msg"); else {...} would fail before 2013-06-03 15:39:47 -07:00
erwin coumans
76b0d7697a Added b3Printf, b3Warning and b3Error that can be re-routed to custom handlers.
See in src/Bullet3Common/b3Logging.h for details
2013-06-03 13:10:27 -07:00
erwin coumans
70b4ead641 remove some warnings 2013-06-03 10:16:50 -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
a92223890f improve Mac OSX/Unix benchmark 2013-05-23 20:38:27 -07:00
Erwin Coumans
084bc4ec32 improve the benchmark mode, with 2 files (csv and details) 2013-05-23 18:34:39 -07:00
erwincoumans
98a877a80d enable alignment macros for Linux 2013-05-22 17:59:13 -07:00
erwincoumans
ee5195d3e8 fix padding issue under Linux (where b3Vector3 is not 16-byte aligned)
w
2013-05-22 17:46:47 -07:00
erwin coumans
9365735a8f fix clew/Windows build (disable CL/GL sharing) 2013-05-21 16:58:03 -07:00
erwin coumans
d25e21614a Merge branch 'master' of https://github.com/erwincoumans/bullet3 2013-05-21 16:47:23 -07:00
erwincoumans
29e70b2802 Add option to use clew to manually open the OpenCL dynamic library
fix Linux build of App_Bullet3_OpenCL_Demos. Unfortunately the simulation doesn't work properly, need to fix it
(and add unit tests)
2013-05-20 17:58:19 -07:00
erwincoumans
453952f202 fix Linux build (only OpenCL/gwen tested) 2013-05-20 16:53:43 -07:00
erwin coumans
2ec9599c87 fix duplicate link symbol when used with Bullet 2.x 2013-05-15 16:22:10 +02:00
erwin coumans
4877a2af8a enable CPU joint (non-contact) constraint solver in GPU rigid body pipeline
small change to BasicGpuDemo
2013-05-08 15:55:02 -07:00
erwin coumans
26873328cf gridtable needs to be in the __constant memory space 2013-05-03 11:38:23 -07:00
erwin coumans
1185de51d5 experiment with first-level batching using object index instead of spatial hash in uniform grid (to avoid tuning average object size for uniform grid) 2013-05-03 01:14:34 -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
92f0938af3 add bitonic sort, as comparison.
fix stringify.bat for Windows (need to fix Mac/Linux version too)
2013-04-30 11:40:09 -07:00
erwincoumans
3ac332f3a7 reorder files, in preparation for Bullet 3 -> Bullet 2 merge 2013-04-29 19:04:08 -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
f943204aa2 add .bullet loader for GPU demo 2013-04-23 16:07:17 -07:00
erwin coumans
66e5dcf65a add joint/constraint solver support (using CPU, Bullet 2.x solver), in combination with GPU contact solver 2013-04-23 12:03:55 -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
erwin coumans
626f0cf1e3 bt->b3 2013-04-17 17:52:51 -07:00
erwin coumans
3cb80ad1a3 more bt->b3* 2013-04-16 17:13:38 -07:00
erwin coumans
e646754228 more bt* to b3* 2013-04-16 17:08:59 -07:00
erwin coumans
4a93c2e704 x() -> x or getX() or [0]
y() -> y or getY() or [1]
z() -> z or getZ() or [2]
w() -> w or getW() or [3]

make sphere-convex and sphere-compound collision work (still issues remaining)
2013-04-03 18:27:36 -07:00