Commit Graph

676 Commits

Author SHA1 Message Date
erwin.coumans
f689a5e7ce tweaks in the build system for unix/GLEW, see also http://code.google.com/p/bullet/issues/detail?id=421 2010-09-10 00:14:23 +00:00
erwin.coumans
5b34356c43 Load the ParticlesOCL.cl from memory, using the MSTRINGIFY macro, instead of loading it from disk.
Small cleanup of cmake build for NVIDIA and AMD OpenCL

For AMD Stream SDK use:
INCLUDE_DIRECTORIES( ${AMD_OPENCL_INCLUDES} )
LINK_LIBRARIES( ${CMAKE_ATISTREAMSDK_LIBPATH}/OpenCL.lib )

For NVIDIA CUDA SDK:
INCLUDE_DIRECTORIES( ${NVIDIA_OPENCL_INCLUDES} )
LINK_LIBRARIES( ${NVIDIA_OPENCL_LIBRARIES})
2010-09-09 23:07:23 +00:00
erwin.coumans
cb2de12243 btSoftBodySolver_OpenCL::setDefaultWorkgroupSize to customize the work group size.
Thanks to Simon Green for the feedback, see also Issue 419

Added BT_PROFILE for "predictUnconstraintMotionSoftBody"

Added a few missing destructors.
Added AllMemoryBarrier
Thanks to Lee Howes for the commit in the branch.
2010-09-08 22:21:59 +00:00
erwin.coumans
33a41798cf more fixes to the 'make install' feature for both cmake and autotools
now autotools uses the same library naming as cmake: libBulletSoftBody, libBulletDynamics, libBulletCollision, libLinearMath
cmake doesn't install .svn folders anymore
cmake pkgconfig bullet.pc.cmake 'include' folder fixed (removed /bullet postfix)
added BulletCollision/CollisionShapes/btTriangleInfoMap.h to the install
2010-09-07 23:40:17 +00:00
erwin.coumans
44b82652d0 Collision flag CF_DISABLE_SPU_COLLISION_PROCESSING can be combined with other flags (avoids SPU/parallel collision dispatch)
Fix for MinGW32 build
2010-08-30 21:46:23 +00:00
erwin.coumans
8e087a0666 Enable compilation of the NVIDIA OpenCL demos under Linux,
Thanks to Xavier Thomas, see Issue 417
2010-08-26 19:18:10 +00:00
erwin.coumans
3c2d67115c add EPA 2010-08-25 01:41:37 +00:00
erwin.coumans
958c705a02 Demos/ConvexHullDistance/ConvexHullDistanceDemo.cpp to compile again
Allow to use convexProcessingThreshold as maximum distance for convex-convex computation (useful for closest distance/point computation)
2010-08-25 01:28:46 +00:00
erwin.coumans
6a9e16501c Fixes to compile MiniCL under Linux.
OpenCL fixes for Linux not processed yet (TBD)
2010-08-24 21:35:28 +00:00
erwin.coumans
1955d08f1b Fix parallel collision dispatch for PTHREADS version of BenchmarkDemo.
Thanks to shankargiri for the patch and report in Issue 418
2010-08-24 21:18:58 +00:00
erwin.coumans
436c71d440 fix btQuickprof introducing #define WIN32_LEAN_AND_MEAN, see also Issue 113 2010-08-23 22:21:29 +00:00
erwin.coumans
0ea249ec33 disable demos in order to avoid re-creation of MSVC projectfiles 2010-08-19 23:36:20 +00:00
erwin.coumans
32433aa8b3 Allow to link the DX11ClothDemo against the 64bit DirectX SDK for x64 builds
Fix memory leaks in btBulletFile and btParallelConstraintSolver (and added some additional profile timers)
2010-08-19 20:03:23 +00:00
erwin.coumans
844a54a409 Fix broken CDTestFramework
Avoid crash in BulletWorldImporter, ignoring 'invalid' constraints between two static bodies
Use a bitfield for btCollisionObject::CollisionObjectTypes (to allow custom types that are derived from build-in types such as btRigidBody)
Revert/improve softbody debug rendering
2010-08-15 20:45:55 +00:00
erwin.coumans
4f9b450200 added OpenCL cloth demo, contributed by AMD.
updated GpuSoftBodySolvers
updated DirectCompute cloth demo
2010-08-14 00:56:17 +00:00
erwin.coumans
51869dceda tweak OpenCL particle demo 2010-07-24 06:52:55 +00:00
erwin.coumans
6f823687b5 enable GPU cloth (not CPU) and disable debug setting (D3D11_CREATE_DEVICE_DEBUG) 2010-07-23 19:49:56 +00:00
erwin.coumans
7684c1b92d use relative path, to make it easier to include btBulletWorldImporter, #include "../BulletFileLoader/btBulletFile.h"
Create a separate library for MiniCL (a rudimentary OpenCL wrapper to run kernels on multi-core CPU using the default C++ compiler, using Win32 Threads or Posix)
tweak vectormath/vmInclude.h for PS3 platforms
fix warning in btKinematicCharacterController
2010-07-21 21:33:40 +00:00
erwin.coumans
dd0f022d1d trying to sort out the vectormath include path mess:
move vectormath to src folder, and add a vmInclude.h that contains the logic in a single location.
If you still need a system-wide vectormath, make sure to define USE_SYSTEM_VECTORMATH (in build system)
2010-07-21 19:11:28 +00:00
erwin.coumans
4eddfce03e remove some warnings 2010-07-20 23:37:11 +00:00
erwin.coumans
11fa2e8b43 Added GPU SoftBody constraint solvers for DirectX 11 (Direct Compute) and OpenCL, thanks to AMD.
See also http://code.google.com/p/bullet/issues/detail?id=390
Added Demos/DX11ClothDemo
(an OpenCL cloth demo will follow soon)
2010-07-20 16:09:53 +00:00
erwin.coumans
5b70a895a5 fix some issues with Linux compatibility,
see Issue 409
2010-07-17 13:44:10 +00:00
erwin.coumans
41ad5d3c06 revert accidentally committed testing code for the btParallelConstraintSolver (in BasicDemo) 2010-07-17 01:06:38 +00:00
erwin.coumans
b3f081fc85 Added preparation for GPU hardware accelerated solvers for BulletSoftBody (OpenCL and DirectCompute backends will follow)
Added assert to check for positive masses in btCompoundShape::calculatePrincipalAxisTransform, see Issue 399
Fixes for LLVM/GCC compilation issue in btSequentialImpulseConstraintSolver
(Untested) fix for Linux 64bit compilation Issue 409
2010-07-16 23:26:25 +00:00
rponom
13d9441f30 Fixed particle demo bug (grid was smaller than world box) 2010-07-16 01:11:24 +00:00
erwin.coumans
fbc17731ec Several changes to sync Bullet trunk with PlayStation 3 spubullet version
Still needs some cross-platform fixes
2010-07-08 17:02:38 +00:00
erwin.coumans
76a58e1f4e fixes in OSX ThreadingDemo / PosixThreadSupport 2010-06-29 01:19:03 +00:00
erwin.coumans
7bfa94b6a3 implement barrier/critical section for OSX (PosixThreadSupport)
enable Demos/ThreadingDemo for OSX
add cmake build support for VectorAdd_OpenCL for OSX
2010-06-28 23:03:14 +00:00
erwin.coumans
8bf91f735c Create a stringify example, instead of loading the .cl file from disk, include it as a string.
The kernel in the .cl file is also compiled by the native C++ cpu compiler, when using MiniCL.
When you want to debug the kernel using MiniCL, and want to put breakpoints, it is best to:

1) enabled the define #define DEBUG_MINICL_KERNELS 1 in Bullet/src/BulletMultiThreaded/MiniCL.cpp
2) temporarily remove the stringify lines in the .cl kernel, because it prevents the debugger from finding the right line.
2010-06-25 22:21:18 +00:00
erwin.coumans
b884554a8f Hack around latest AMD graphics cards having troubles with point sprite rendering
The problem is still unresolved on the 5870 card, and results in a black screen
See also http://forums.amd.com/devforum/messageview.cfm?catid=392&threadid=129431
2010-06-25 18:31:10 +00:00
erwin.coumans
b04f176604 fix for OpenCL demos build for NVidia 2010-06-25 17:01:14 +00:00
erwin.coumans
b83e16b7ff fix out-of-bounds in AMD version of VectorAdd 2010-06-25 00:40:20 +00:00
erwin.coumans
5db1c008bd add AMD version of VectorAdd_OpenCL, next to MiniCL (has issues with workgroup size) 2010-06-25 00:19:22 +00:00
erwin.coumans
498da0721b Move some code from Branches/OpenCL to trunk, related to threading and OpenCL:
Added Demos/ThreadingDemo showing how to use the cross-platform btThreadSupportInterface under Windows.
Added Demos/ParticlesOpenCL showing how to run the NVidia particle demo under OpenCL implementations by AMD, NVidia and MiniCL (CPU)
2010-06-24 22:54:00 +00:00
erwin.coumans
b39abc4513 minor addition to GLDebugFont for non-blender text rendering (better readable on top of existing graphics)
Use GLDebugDrawStringInternal(xcoord,ycoord,text,rgb_color,use_blending,character_spacing);
2010-05-12 23:03:10 +00:00
erwin.coumans
0fbd9d49c4 + Optimization: move some variable declarations outside of the innerloop in btCompoundCollisionAlgorithm.cpp
Thanks to mccdo at iastate.edu for the contribution, see Issue 373
+ Optimization: removed some unnecessary code in btConvexHullShape::localGetSupportingVertexWithoutMargin
+ Added autogenerated Visual Studio 2005 projectfiles (using a patched cmake 2.8.1 to avoid any references to cmake/absolute paths)
2010-04-12 17:46:56 +00:00
erwin.coumans
81efe51116 create a better demo for the perturbation around the separating normal 2010-03-06 23:30:32 +00:00
erwin.coumans
3c8f8f55d7 add vsync for Mac OSX to avoid tearing artifacts 2010-03-06 19:37:38 +00:00
erwin.coumans
81f04a4d48 fix: some file didn't have the svn:eol-style native yet 2010-03-06 15:23:36 +00:00
erwin.coumans
8fbe399ea4 Make .bullet serialization mode robust:
Deal with broken DNA serialization. Bullet 2.76 release revision 2035 - 2046 was broken, and this includes the Maya Dynamica plugin.
Added some workaround to deal with the broken .bullet files, instead of crashing.
2010-03-02 09:32:34 +00:00
erwin.coumans
3629df72fd This should be the final Bullet 2.76 release 2010-02-25 20:25:59 +00:00
erwin.coumans
40dc18f604 remove Extras/obsolete/quickstep
improve serialization based on feedback: make it easier to serialize a single object, or single shape, or single bvh.
Modified Bullet/Demos/ConcaveDemo to use btSerializer to serialize the btOptimizedBvh (or optionally the trimesh+bvh)

You can also serialize trimesh without BVH, use:
serializer->setSerializationFlags(BT_SERIALIZE_NO_BVH);//	or BT_SERIALIZE_NO_TRIANGLEINFOMAP
2010-02-25 20:12:40 +00:00
erwin.coumans
e156967762 Enable graphical benchmark by default in cmake
Toggle between point to point and generic 6dof constraint for mouse picking in the demos

Use a 'equal vertex thresdhold' in the btVoronoiSimplexSolver of  0.0001f by default.
This can be disabled (or configured) using defaultCollisionConfiguration->getSimplexSolver()->setEqualVertexThreshold(0.f);
See http://code.google.com/p/bullet/issues/detail?id=305
2010-02-24 01:28:23 +00:00
erwin.coumans
1425feec26 minor warning fixes, issue with "direction[i] = direction[i];" on OSX 2010-02-23 18:08:44 +00:00
erwin.coumans
621eddb769 make btHashMap data protected (not private) for easier serialization
move btTriangleInfoMap.h into its own header, into the BulletCollision/CollisionShapes folder
add btTriangleInfoMap pointer to btBvhTriangleMeshShape, so we don't need to use the 'userpointer' anymore
preparation for serialization of btTriangleInfoMap.

See also http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4603&start=30
2010-02-23 09:52:39 +00:00
erwin.coumans
41e9115bca Add support to serialize btOptimizedBvh/btQuantizedBvh for a btBvhTriangleMeshShape (using the new btSerializer). This is a new implementation, with full cross-platform support.
So it is different from the in-place method (btQuantizedBvh::serializeInPlace/deserializeInPlace).

It is also possible to serialize/deserialize just the bvh, using the btSerializer (needs some code snippet/helper)
See also http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4770
2010-02-23 09:03:46 +00:00
erwin.coumans
e4c3c2a1a2 Fix Issue 342, related to OpenGL GL_ShapeDrawer (when used with multiple OpenGL contexts) 2010-02-23 03:11:18 +00:00
erwin.coumans
ceeb9392d9 removed ColladaDemo and COLLADA, LibXML from autotools files
(those files are moved to the Dynamica repository, see http://dynamica.googlecode.com)
2010-02-20 15:49:28 +00:00
erwin.coumans
1c0ec85c32 Retired the Jam build system (and msvcgen). CMake is currently the preferred build system on Windows, Mac and UNIX
(autotools files are still left for now)
2010-02-20 15:47:20 +00:00
erwin.coumans
6ef37ab722 pass on rigid body name in btBulletWorldImporter, to make it easier to bind physics and graphics objects.
moved some obsolete files to Extras/obsolete, and removed freeglut
moved ColladaDemo to Dynamica Maya plugin repository (it has COLLADA_DOM and libxml), see http://dynamica.googlecode.com
Added new .bullet file
Minor update in Bullet_User_Manual.pdf, removed obsolete Bullet_Faq.pdf
2010-02-20 15:39:09 +00:00