diff --git a/demo/gpudemo/broadphase/PairBench.cpp b/demo/gpudemo/broadphase/PairBench.cpp index 27cb3c1df..0ab858a26 100644 --- a/demo/gpudemo/broadphase/PairBench.cpp +++ b/demo/gpudemo/broadphase/PairBench.cpp @@ -1,9 +1,48 @@ #include "PairBench.h" #include "BulletCommon/btQuickprof.h" +#include "OpenGLWindow/ShapeData.h" +#include "OpenGLWindow/GLInstancingRenderer.h" +#include "BulletCommon/btQuaternion.h" + +PairBench::PairBench() +:m_instancingRenderer(0) +{ +} +PairBench::~PairBench() +{ +} + void PairBench::initPhysics(const ConstructionInfo& ci) { + m_instancingRenderer = ci.m_instancingRenderer; + CProfileManager::CleanupMemory(); + int strideInBytes = 9*sizeof(float); + int numVertices = sizeof(cube_vertices)/strideInBytes; + int numIndices = sizeof(cube_vertices)/sizeof(int); + int shapeId = ci.m_instancingRenderer->registerShape(&cube_vertices[0],numVertices,cube_indices,numIndices); + for (int i=0;iregisterGraphicsInstance(shapeId,position,orn,color,scaling); + } + } + } + + float camPos[4]={15.5,12.5,15.5,0}; + m_instancingRenderer->setCameraTargetPosition(camPos); + m_instancingRenderer->setCameraDistance(40); + + m_instancingRenderer->writeTransforms(); } void PairBench::exitPhysics() @@ -14,7 +53,7 @@ void PairBench::exitPhysics() void PairBench::renderScene() { - + m_instancingRenderer->RenderScene(); } void PairBench::clientMoveAndDisplay() diff --git a/demo/gpudemo/broadphase/PairBench.h b/demo/gpudemo/broadphase/PairBench.h index bf688a88e..d95c464ed 100644 --- a/demo/gpudemo/broadphase/PairBench.h +++ b/demo/gpudemo/broadphase/PairBench.h @@ -5,8 +5,14 @@ class PairBench : public GpuDemo { + + class GLInstancingRenderer* m_instancingRenderer; + public: + PairBench(); + virtual ~PairBench(); + virtual void initPhysics(const ConstructionInfo& ci); virtual void exitPhysics(); diff --git a/demo/gpudemo/main_opengl3core.cpp b/demo/gpudemo/main_opengl3core.cpp index 8bf24a8d9..74538803b 100644 --- a/demo/gpudemo/main_opengl3core.cpp +++ b/demo/gpudemo/main_opengl3core.cpp @@ -62,8 +62,9 @@ GpuDemo::CreateFunc* allDemos[]= { //BroadphaseBenchmark::CreateFunc, //GpuBoxDemo::CreateFunc, - ParticleDemo::MyCreateFunc, - PairBench::MyCreateFunc, + PairBench::MyCreateFunc, + ParticleDemo::MyCreateFunc, + //SpheresDemo::CreateFunc, //GpuCompoundDemo::CreateFunc, //EmptyDemo::CreateFunc,