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
This commit is contained in:
erwincoumans 2013-09-02 22:31:48 -07:00
parent d0da37f3dd
commit 181a323631
8 changed files with 11 additions and 6 deletions

View File

@ -100,12 +100,14 @@ struct EmptyDemo : public CpuDemo
};
#include "rendering/RenderDemo.h"
#include "rigidbody/RigidBodyDemo.h"
#include "deformable/CpuSoftBodyDemo.h"
b3AlignedObjectArray<const char*> demoNames;
int selectedDemo = 0;
CpuDemo::CreateFunc* allDemos[]=
{
//CpuSoftClothDemo::MyCreateFunc,
RigidBodyDemo::MyCreateFunc,
RenderDemo::MyCreateFunc,
EmptyDemo::MyCreateFunc,
@ -627,7 +629,7 @@ int main(int argc, char* argv[])
int maxObjectCapacity=1024*1024;//128*1024;
int maxShapeCapacityInBytes=128*1024;
int maxShapeCapacityInBytes=10*1024*1024;
//maxObjectCapacity = b3Max(maxObjectCapacity,ci.arraySizeX*ci.arraySizeX*ci.arraySizeX+10);

View File

@ -7,7 +7,7 @@ struct RigidBodyDemo : public CpuDemo
{
struct b3DynamicBvhBroadphase* m_bp;
struct b3CpuNarrowPhase* m_np;
class b3CpuNarrowPhase* m_np;
struct b3CpuRigidBodyPipeline* m_rb;

View File

@ -3,7 +3,7 @@
#include "GpuRigidBodyDemo.h"
#include "Bullet3Common/b3AlignedObjectArray.h"
#include "Bullet3OpenCL/Raycast/b3RaycastInfo.h"
#include "Bullet3Collision/NarrowPhaseCollision/b3RaycastInfo.h"
class GpuConvexScene : public GpuRigidBodyDemo
{

View File

@ -665,6 +665,9 @@ int GLInstancingRenderer::registerShape(const float* vertices, int numvertices,
char* dest= (char*)glMapBuffer( GL_ARRAY_BUFFER,GL_WRITE_ONLY);//GL_WRITE_ONLY
int vertexStrideInBytes = 9*sizeof(float);
int sz = numvertices*vertexStrideInBytes;
int totalUsed = vertexStrideInBytes*gfxObj->m_vertexArrayOffset+sz;
b3Assert(totalUsed<this->m_maxShapeCapacityInBytes);
memcpy(dest+vertexStrideInBytes*gfxObj->m_vertexArrayOffset,vertices,sz);
glUnmapBuffer( GL_ARRAY_BUFFER);

View File

@ -19,7 +19,7 @@ subject to the following restrictions:
#include "Bullet3Common/b3AlignedObjectArray.h"
#include "Bullet3OpenCL/Raycast/b3RaycastInfo.h"
#include "Bullet3Collision/NarrowPhaseCollision/b3RaycastInfo.h"
class b3CpuRigidBodyPipeline
{

View File

@ -5,7 +5,7 @@
#include "Bullet3OpenCL/Initialize/b3OpenCLInclude.h"
#include "Bullet3Common/b3AlignedObjectArray.h"
#include "b3RaycastInfo.h"
#include "Bullet3Collision/NarrowPhaseCollision/b3RaycastInfo.h"

View File

@ -20,7 +20,7 @@ subject to the following restrictions:
#include "Bullet3Collision/NarrowPhaseCollision/b3Config.h"
#include "Bullet3Common/b3AlignedObjectArray.h"
#include "Bullet3OpenCL/Raycast/b3RaycastInfo.h"
#include "Bullet3Collision/NarrowPhaseCollision/b3RaycastInfo.h"
class b3GpuRigidBodyPipeline
{