Commit Graph

137 Commits

Author SHA1 Message Date
Erwin Coumans
b1863f7ce2 Refactored GJK, EPA and MPR as a template class, reducing/removing the dependencies
to the rest of the Bullet code base. This code will replace the original GJK/EPA
in a future commit.

Added btMprPenetration, an implementation of Minkowski Portal Refinement
by Daniel Fiser. Original MPR idea is by Gary Snethen, and the first
implementation is here: https://github.com/erwincoumans/xenocollide
It is an alternative to EPA, although computing the local penetration depth.
EPA computes the global penetration depth. In many cases, MPR is sufficient
and performs better than EPA.
2014-11-02 12:53:36 -08:00
Erwin Coumans
07e2dcc749 minor cleanup of btgui/demo3 stuff, much more demo cleanup is needed
moved some files in btgui/Bullet3AppSupport
2014-09-16 12:08:24 -07:00
Erwin Coumans
4af9c5a4c9 remove some warnings 2014-08-21 13:32:32 -07:00
erwin coumans
670576ec72 remove #include <stdbool.h> it breaks MSVC 2010
enable gtest by default when using premake, added flag without-gtest
use gtest ASSERT_EQ( expected_value, actual_value) instead of the reverse,
this fixes issue 205 (https://github.com/bulletphysics/bullet3/issues/205)
2014-08-12 12:18:32 -07:00
erwincoumans
6c01c83986 Merge pull request #170 from erwincoumans/master
sync repos
2014-05-07 09:00:24 -07:00
erwin coumans
2cf7806c87 add the 'extras' and Bullet 2 tests, to make it easier to create a new intermediate release 2014-05-07 08:54:08 -07:00
Erwin Coumans
4996a64238 fix CMake build on Mac OSX 2014-04-28 11:11:45 -07:00
erwincoumans
a50dfe8e19 add CMake support to build gtest 2014-04-08 09:04:32 -07:00
erwincoumans
122ceacb6d move OpenCL initialization for the unit tests in a shared header file, and support some basic command-line arguments
--cl_device=1 --cl_platform=1 --allow_opencl_cpu
add chaindemo, test for mass ratios
restore sleeping/activation mode in featherstone demo
Use _VARIADIC_MAX=10 to avoid Google Test issues with Visual Studio 2012, thanks to Mobeen for the report
Enable verbose printf for unit tests
2014-02-11 10:33:00 -08:00
erwincoumans
d65cd8060a add Lua and basic Lua->C/C++ integration test, in preparation for Bullet demos setup using Lua scripts. 2014-02-05 19:39:48 -08:00
Erwin Coumans
94db38358c add zlib/minizip so we can load compressed data (github/git is bad in handling large binary files) 2014-02-04 13:39:55 -08:00
Erwin Coumans
ac32af2b1c fix linux build (case sensitive folder Test -> test etc) 2014-01-31 22:40:42 -08:00
erwin coumans
50c61b0d11 just show maximum memory in OpenCL initialization/memory allocation test 2014-01-30 11:22:08 -08:00
erwin coumans
ec39c2f210 Removed to bitonic sort and ios, they were not used and confuse Bram :)
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=9570
2013-11-25 21:38:44 -08:00
erwin coumans
26dfaa441e add some command-line options
--use_jacobi
--allow_opencl_cpu

b3LauncherCL constructor takes string, to make it easier to determine failing OpenCL kernel
b3SetCustomErrorMessageFunc, printf error and exit(0)
2013-11-19 13:42:53 -08: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
erwin coumans
b32ae0c75c move some files to shared folders
use b3Aabb for compound vs compound on host (for testing, towards BVH)
2013-08-14 17:48:12 -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
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
a81d847c24 Linux fixes 2013-06-17 22:45:59 -07:00
erwincoumans
227d88f553 fix Linux build 2013-06-17 21:57:04 -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
erwincoumans
74bdccc2cf fix Linux build (tested on Ubuntu 12.10, 32bit) 2013-06-05 08:51:13 -07:00
Erwin Coumans
4dd529513f fix Mac OSX build 2013-06-04 09:09:10 -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
084bc4ec32 improve the benchmark mode, with 2 files (csv and details) 2013-05-23 18:34:39 -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
erwin coumans
818a78efe3 enet NAT punchthrough test improvement, seems to work fine for my test setup 2013-05-04 21:28:51 -07:00
erwin coumans
c0a1ad8fcd add enet test for remote visual debugger 2013-05-04 19:50:56 -07:00
erwin coumans
3438d1c8f6 compute actual local workgroup size, instead of a hard-coded value 2013-05-01 10:04:56 -07:00
erwincoumans
bf7a779562 fix crash in Test_BitonicSort 2013-04-30 12:40:55 -07:00
Erwin Coumans
86a3cb5d2e only use GPU devices for Bitonic Sort (require workgroup sizes > 1, and most CPU devices only provide 1) 2013-04-30 12:18:46 -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
dc1984713a add option for btDbvtBroadphase (comparison) 2013-04-20 23:59:00 -07:00