erwincoumans
768ea211a6
add a waiting message, during startup of a demo.
...
fix an OpenCL kernel, broken in previous commit.
2013-11-07 16:47:18 -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
9d96c24bee
fix a compile error in the debug/testing particles kernel
2013-11-04 23:46:03 -08:00
erwincoumans
8faac34801
move ExplititEuler cloth solver to its own file, so it can be replaced by PDB, implicit euler etc
...
add wireframe toggle ('w' key)
add --paused command-line option to start simulation in paused mode
render cloth using drawPoints method
2013-09-06 18:09:35 -07: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
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
erwincoumans
d32629dbe2
add the option to load a set of AABB's from a file, see PairBench
...
You can use the following command-line arguments:
App_Bullet*.exe --selected_demo=10 --cl_platform=1 --pair_benchmark_file=64006GPUAABBs.txt --benchmark
2013-08-23 17:55:28 -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
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
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
310d31f3d5
tweaks to demos, add middle-mouse support,
2013-07-21 00:36:00 -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
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
3beae80a73
prepare for GPU fixed constraint (not done yet)
2013-07-16 19:05:07 -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
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
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
erwincoumans
282e19171f
fix Linux version of ConstraintDemo
2013-07-09 14:41:56 -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
b18e03d737
work towards GPU joint solver (non-contact constraints), not working yet.
2013-07-06 13:11:13 -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
72042f3094
add basic constraint demo
2013-07-02 11:07:50 -07:00
erwincoumans
898f423f95
fix linux build
2013-07-01 09:45:12 -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
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
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
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
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
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