Commit Graph

34 Commits

Author SHA1 Message Date
erwincoumans
ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
erwincoumans
01d14f538a fix some out-of-bounds error in the OpenCL rigid body pipeline
re-enable an OpenCL/gpu rigid body example (box-box stack)
2015-05-01 21:34:27 -07:00
Jack Andersen
d4fd695d56 Compile fix for parallelLinearBvh.cl on OS X Intel HD 5000 2014-07-11 14:11:11 -10:00
Jackson Lee
26bcff31f7 Add overlapping pairs validation to PairBench. 2014-03-19 22:35:23 -07:00
Jackson Lee
b709d6beeb Clean up plbvhCalculateOverlappingPairs kernel.
Also fix overlapping pair generation with triangle mesh.
(Currently, large/concave AABBs must be the first entry in a pair.)
2014-03-14 13:55:22 -07:00
Jackson Lee
19b194e8fe Fix PLBVH symmetry optimization for calculateOverlappingPairs(). 2014-03-13 19:22:05 -07:00
Jackson Lee
db02ced606 Clean up PLBVH construction, add comments. 2014-03-11 14:13:09 -07:00
Jackson Lee
038364ccdd Merge various commits into a single commit.
Commits after:
2014-03-03 Draft PLBVH construction using binary radix tree.
f19f853685

Are merged into a single commit; this includes:
03-10 Remove single launch build AABB kernel.
03-10 Add kernels for setting PLBVH AABBs using distance from root.
03-10 Use faster morton code, remove convertChildNodeFormat kernel.
03-09 Add duplicate morton code handling to binary radix construct.
03-09 Remove slower PLBVH constructors.
03-08 Add binary radix tree construct using binary search.
03-06 Remove slowest PLBVH constructor, fix implicit construct AABB.
03-04 Test various optimizations for PLBVH binary radix tree construct.
2014-03-10 15:33:47 -07:00
Jackson Lee
f19f853685 Draft PLBVH construction using binary radix tree. 2014-03-03 14:33:53 -08:00
Jackson Lee
4dcd52c090 Add only small AABBs to PLBVH, add large AABB support. 2014-02-26 15:38:59 -08:00
Jackson Lee
fe12ad9c9b Fix PLBVH with 0/1 nodes, fix optimized ray-AABB intersect. 2014-02-26 14:56:43 -08:00
Jackson Lee
c782f4976c Various minor PLBVH related changes.
-Use most significant bit instead of negative for internal nodes.
-Explicitly store root node index, so that it does not have to be 0.
-Check the root node first in PLBVH traversal.
-Fix rigid body clipping in RaytracedShadowDemo.
2014-02-24 23:50:20 -08:00
Jackson Lee
e4fbd5332d Accelerate GPU raycaster with PLBVH. 2014-02-23 20:40:58 -08:00
Jackson Lee
e955192971 Fix PLBVH reduction kernels, simplify nodes per level calculation.
Also calculate index ranges for each internal node.
2014-02-19 21:49:30 -08:00
Jackson Lee
7f0e361fa0 Use merged AABB to calculate grid cell size for PLBVH. 2014-02-18 19:59:05 -08:00
Jackson Lee
b7b7356af8 Draft Parallel Linear BVH Broadphase. 2014-02-18 19:23:25 -08: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
3e8b183587 Avoid breaking up the clipHullHull kernel, it ruins performance. Unfortunately, Mac OSX still requires it.
Use indices instead of copies for small/large aabbs in broadphase (grid / sap)
2014-01-29 15:20:20 -08:00
erwincoumans
ff051f87aa replace 'copy' step of large/small Aabbs by indices 2014-01-29 12:52:31 -08:00
erwin coumans
33ebebd1c9 allow PairBenchmark to select broadphase type, with cpu brute-force, gpu brute-force etc
fix issue in PairBench, related to index offset
allow to add a large AABB in PairBench, to see the effect on the broadphase pair search performance
2014-01-28 17:11:56 -08:00
Erwin Coumans
71f0537c6e add Bullet 2.x constraint solver tests for hinge, with large mass ratio
experiment with Midi controls in PairBenchmark to tune variables (will move it into a utility class, so every demo can easier use it in the future)
fix issue with broadphase, not initializing all pairs properly at pair array overflow
2014-01-28 10:25:04 -08:00
erwincoumans
7cdda65822 Experimenting with GUI in PairBench, still preliminary. Goal is to make it easier to add variables that can be tuned using GUI/gwen
Pre-compile PairBench OpenCL kernel
2014-01-26 11:27:20 -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
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
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
erwin coumans
310d31f3d5 tweaks to demos, add middle-mouse support, 2013-07-21 00:36:00 -07:00
erwin coumans
5991eef749 add GPU incremental 3d sap (not enabled by default) 2013-07-20 21:16:24 -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
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