fix some out-of-bounds error in the OpenCL rigid body pipeline

re-enable an OpenCL/gpu rigid body example (box-box stack)
This commit is contained in:
erwincoumans
2015-05-01 21:34:27 -07:00
parent 7ca20f529a
commit 01d14f538a
20 changed files with 2710 additions and 12 deletions

View File

@@ -28,7 +28,14 @@
#include "../Experiments/ImplicitCloth/ImplicitClothExample.h"
#include "../Importers/ImportBullet/SerializeSetup.h"
#include "../Raycast/RaytestDemo.h"
#ifdef B3_USE_CLEW
#include "../OpenCL/broadphase/PairBench.h"
#include "../OpenCL/rigidbody/GpuConvexScene.h"
#endif //B3_USE_CLEW
struct ExampleEntry
@@ -175,7 +182,10 @@ static ExampleEntry gDefaultExamples[]=
static ExampleEntry gOpenCLExamples[]=
{
ExampleEntry(0,"OpenCL (experimental)"),
ExampleEntry(1,"Box-Box", "Full OpenCL implementation of the entire physics and collision detection pipeline, showing box-box rigid body",
OpenCLBoxBoxCreateFunc),
ExampleEntry(1,"Pair Bench", "Benchmark of overlapping pair search using OpenCL.", PairBenchOpenCLCreateFunc),
};
#endif //
static btAlignedObjectArray<ExampleEntry> gAdditionalRegisteredExamples;

View File

@@ -69,6 +69,14 @@ static bool pauseSimulation=false;
int midiBaseIndex = 176;
extern bool gDisableDeactivation;
///some quick test variable for the OpenCL examples
int gPreferredOpenCLDeviceIndex=-1;
int gPreferredOpenCLPlatformIndex=-1;
int gGpuArraySizeX=25;
int gGpuArraySizeY=25;
int gGpuArraySizeZ=25;
//#include <float.h>
//unsigned int fp_control_state = _controlfp(_EM_INEXACT, _MCW_EM);

View File

@@ -59,6 +59,7 @@
"../Raycast/*",
"../MultiBody/MultiDofDemo.cpp",
"../MultiBody/TestJointTorqueSetup.cpp",
"../ThirdPartyLibs/stb_image/*",
"../ThirdPartyLibs/Wavefront/tiny_obj_loader.*",
"../ThirdPartyLibs/tinyxml/*",
"../Utils/b3Clock.*",
@@ -92,7 +93,9 @@
if (hasCL) then
files {
"../OpenCL/broadphase/*",
"../OpenCL/CommonOpenCL/*"
"../OpenCL/CommonOpenCL/*",
"../OpenCL/rigidbody/GpuConvexScene.cpp",
"../OpenCL/rigidbody/GpuRigidBodyDemo.cpp",
}
end