Commit Graph

69 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
8faf5bca21 fix OSX build 2013-07-02 21:08:52 -07:00
erwin coumans
0f78c696b5 GWEN improvement: allow to navigate TreeControl and ComboBox using the cursor keys 2013-07-01 23:43:49 -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
erwin coumans
c959f32d7e added b3Clock/b3Quickprof files 2013-06-20 10:14:21 -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
227d88f553 fix Linux build 2013-06-17 21:57: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
74bdccc2cf fix Linux build (tested on Ubuntu 12.10, 32bit) 2013-06-05 08:51:13 -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
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
f55473d586 GpuRaytraceScene work-in-progress, CPU only at the moment. 2013-05-27 00:42:28 -07:00
Erwin Coumans
a3559b3c92 add preliminary ray tracing test (ray-sphere placeholder on CPU) 2013-05-25 01:45:43 -07:00
erwincoumans
6bfa60c365 tweak demo a bit and add 'exit' to X11 window 2013-05-23 10:23:08 -07:00
erwincoumans
453952f202 fix Linux build (only OpenCL/gwen tested) 2013-05-20 16:53:43 -07:00
erwincoumans
25fe5f4a77 prepare for GPU cloth/softbody 2013-05-06 18:35:34 -07:00
erwin coumans
b882211769 fix Linux build for enet test 2013-05-04 21:30:51 -07:00
erwin coumans
c0a1ad8fcd add enet test for remote visual debugger 2013-05-04 19:50:56 -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
Erwin Coumans
c5f488fe6d fix Mac build 2013-04-29 23:01:10 -07:00
Erwin Coumans
6b64517817 Merge branch 'master' of https://bitbucket.org/erwincoumans/bullet3_experiments 2013-04-29 22:55:38 -07:00
Erwin Coumans
13e134aba9 fix midi issue with Mac 2013-04-29 22:55:12 -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
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
faabffc23d bt -> b3 rename
add docs
2013-04-15 18:26:09 -07:00