Commit Graph
41 Commits
Author SHA1 Message Date
erwincoumans ad8585f184 prepare for btGpuGridBroadphase 2013-11-10 14:15:23 -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
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
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 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 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
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
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 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
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 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 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
erwincoumans 9fe48d887d b3GpuDynamicsWorld improvements:
apply forces
copy linear/angular velocity every frame at the CPU side, initial velocity works now
hook up setGravity
Note: the 'stepSimulation' for GPU only simulates a single simulation frame.
2013-06-06 22:01:06 -07:00
erwincoumans 74bdccc2cf fix Linux build (tested on Ubuntu 12.10, 32bit) 2013-06-05 08:51:13 -07:00
erwin coumans a886a978b7 add preliminary GPU ray cast (brute-force slow, only against sphere, allocates OpenCL buffers at every cast) 2013-05-28 18:39:53 -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
Erwin Coumans a92223890f improve Mac OSX/Unix benchmark 2013-05-23 20:38:27 -07:00
Erwin Coumans c8b979e7ef Merge branch 'master' of https://github.com/erwincoumans/bullet3 2013-05-23 19:15:28 -07:00
Erwin Coumans 3a7f821a76 use monastry mesh 2013-05-23 19:15:07 -07:00
Erwin Coumans 084bc4ec32 improve the benchmark mode, with 2 files (csv and details) 2013-05-23 18:34:39 -07:00
erwincoumans 6bfa60c365 tweak demo a bit and add 'exit' to X11 window 2013-05-23 10:23:08 -07:00
erwincoumans a2553cbdad only fclose(f) a file once, to avoid a crash on Linux 2013-05-23 09:54:54 -07:00
erwincoumans ee5195d3e8 fix padding issue under Linux (where b3Vector3 is not 16-byte aligned)
w
2013-05-22 17:46:47 -07:00
erwin coumans 1185de51d5 experiment with first-level batching using object index instead of spatial hash in uniform grid (to avoid tuning average object size for uniform grid) 2013-05-03 01:14:34 -07:00
erwincoumans e999903c15 resolve some naming conflicts between Bullet 3.x and Bullet 2.x
add BasicGpuDemo that bridges Bullet 2.x and Bullet 3.x (still preliminary/crashing/instable)
2013-04-30 18:17:44 -07:00
erwincoumans 3ac332f3a7 reorder files, in preparation for Bullet 3 -> Bullet 2 merge 2013-04-29 19:04:08 -07:00