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
3a6e1ccff4
work towards GPU joint solver (non-contact constraints), not working yet.
2013-07-06 13:08:58 -07:00
erwin coumans
01e5472f9f
add b3FixedConstraint, with less memory footprint than b3Generic6DofConstraint, and easier to port to OpenCL.
...
remove the 'obsolete' part of b3Generic6DofConstraint and b3Point2PointConstraint
2013-07-06 00:44:06 -07:00
erwin coumans
28f6e0fbd3
towards GPU joint (non-contact) constraint solving. The ConstraintDemo shows that CPU performance is very good, so not much performance win is to be expected.
2013-07-02 21:13:42 -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
f2cc840c31
move shaders to .glsl files and stringify to .h file.
...
add crude screenshot facility (using F1 key), it can also be used for debugging
start with shadows using shadowmap, not working yet
add experimental 'ignore' body index in raycast, using b3HitInfo.m_m_hitResult2
2013-06-28 14:10:23 -07:00
erwin coumans
bb723f9fd1
remove some un-used data from b3Generic6DofConstraint
...
add GLRenderToTexture helper class
enable OpenGLTrueTypeFont test
2013-06-26 16:09:40 -07:00
a
34394526f8
fix osx version
...
See also https://github.com/erwincoumans/experiments/issues/11
2013-06-21 11:25:08 -07:00
erwincoumans
e39af46403
fix ray-convex header file
2013-06-20 16:41:11 -07:00
erwincoumans
d935eb2520
fixes in ray-convex for GPU
2013-06-20 16:27:36 -07:00
erwincoumans
47403c7e6f
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2013-06-20 12:55:35 -07:00
erwin coumans
92f2f330df
fix OpenCL kernel: NVIDIA crashes in clBuildProgram and AMD reports an error 'irreducable flow detected" ?!?
...
ray-convex works on GPU
2013-06-20 11:50:19 -07:00
erwin coumans
330bf3ea09
start implementing ray-convex on GPU (work-in-progress)
2013-06-20 11:33:00 -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
erwin coumans
a69ba48de4
Move b3Quickprof.* from Bullet 3.x src folder to btgui/Timing
...
The Bullet 3.x B3_PROFILE can be customized using b3SetCustomEnterProfileZoneFunc/b3SetCustomLeaveProfileZoneFunc defined in Bullet3Common/b3Logging,
so you can hook Bullet 3.x up to your profiler of choice.
The Demos3/BasicGpuDemo will show the Bullet 3.x timings inside the Bullet 2.x btQuickprof profiler.
2013-06-19 22:08:03 -07:00
Erwin Coumans
7d79555f50
only disable fastscan in radix sort for __APPLE__, this should improve Linux performance (previously it went through the slower path under Linux)
2013-06-19 23:18:17 -07:00
erwincoumans
13a4084adf
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2013-06-19 12:52:12 -07:00
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
erwin.coumans@gmail.com
4ed87140fc
add an update revision, to make it easier to sync with Bullet 3.x
...
add set/getUserindex in addition to set/getUserPointer
2013-06-19 01:00:42 +00: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