Commit Graph

105 Commits

Author SHA1 Message Date
erwincoumans
472614772f expose some more settings as command-line parameters:
[--disable_shadowmap] [--shadowmap_size=int] [--shadowmap_resolution=<int>] [--use_jacobi] [--use_uniform_grid]
2013-11-11 22:20:21 -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
ef6be5370d more work towards hybrid of GPU grid and sap broadphase, separating small, large (moving) and static objects
re-enable 'useNewBatchingKernel', it is slower but more robust
2013-11-11 02:19:04 -08:00
erwin coumans
d13de109a5 work towards re-enabling GPU grid broadphase (in addition to GPU sap bp) 2013-11-10 23:19:51 -08:00
erwincoumans
b0c43520e3 more work towards re-enabling grid broadphase. 2013-11-10 22:00:35 -08:00
erwincoumans
ad8585f184 prepare for btGpuGridBroadphase 2013-11-10 14:15:23 -08:00
erwincoumans
6b5921b1b3 added a basic test for SimpleOpenGL3 2013-11-09 13:09:11 -08:00
erwincoumans
8f3051fdf1 add ImplicitCloth demo, by Stan Melax
add SimpleOpenGL3App, used in ImplicitCloth demo. The Bullet 3.x demos should use this as a template, it will clean up some of the mess.
2013-11-09 12:12:33 -08:00
erwincoumans
a6bc61ad1a tweaked the particle demo a little bit 2013-11-08 23:21:01 -08:00
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
erwin coumans
fcd5541b04 fix BasicGpuDemo compilation 2013-09-17 14:46:11 -07:00
erwincoumans
01d62b12bb adjust velocity after solving PBD springs/links 2013-09-06 23:18:14 -07:00
erwincoumans
40acf922e3 add Thomas Jacobsen / position based dynamics cloth constraint solver 2013-09-06 19:50:58 -07: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
erwin coumans
b79146c7fa add simple place holder for cloth simulation 2013-09-03 15:09:12 -07:00
erwincoumans
b1bab032b1 add CpuSoftBodyDemo (empty placeholder) 2013-09-03 08:48:27 -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
erwin coumans
a6d9cf382f more work towards cpu pipeline, sharing OpenCL kernel code 2013-08-30 16:30:22 -07:00
erwincoumans
0ccb6922a8 more work towards CPU version 2013-08-30 08:06:46 -07:00
erwin coumans
f3c764102f add new files 2013-08-28 08:53:54 -07:00
erwin coumans
c901767b77 add RenderDemo to CpuDemo. 2013-08-28 08:51:20 -07:00
erwincoumans
412ddacee6 prepare towards CPU version of rigid body pipeline 2013-08-27 20:16:51 -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
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
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
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