more example browser tweaks, mostly related to (debug) rendering
This commit is contained in:
@@ -147,14 +147,14 @@ void GpuConvexScene::setupScene()
|
||||
float camPos[4]={0,0,0,0};//ci.arraySizeX,ci.arraySizeY/2,ci.arraySizeZ,0};
|
||||
//float camPos[4]={1,12.5,1.5,0};
|
||||
|
||||
m_instancingRenderer->getActiveCamera()->setCameraTargetPosition(camPos[0],camPos[1],camPos[2]);
|
||||
m_instancingRenderer->getActiveCamera()->setCameraDistance(150);
|
||||
m_guiHelper->getRenderInterface()->getActiveCamera()->setCameraTargetPosition(camPos[0],camPos[1],camPos[2]);
|
||||
m_guiHelper->getRenderInterface()->getActiveCamera()->setCameraDistance(150);
|
||||
//m_instancingRenderer->setCameraYaw(85);
|
||||
m_instancingRenderer->getActiveCamera()->setCameraYaw(30);
|
||||
m_instancingRenderer->getActiveCamera()->setCameraPitch(225);
|
||||
m_guiHelper->getRenderInterface()->getActiveCamera()->setCameraYaw(30);
|
||||
m_guiHelper->getRenderInterface()->getActiveCamera()->setCameraPitch(225);
|
||||
|
||||
|
||||
m_instancingRenderer->updateCamera();
|
||||
m_guiHelper->getRenderInterface()->updateCamera(1);//>updateCamera();
|
||||
|
||||
char msg[1024];
|
||||
int numInstances = index;
|
||||
@@ -222,7 +222,7 @@ int GpuConvexScene::createDynamicsObjects2( const float* vertices, int numVertic
|
||||
}
|
||||
}
|
||||
|
||||
int shapeId = m_instancingRenderer->registerShape(&vertices[0],numVertices,indices,numIndices,B3_GL_TRIANGLES,textureIndex);
|
||||
int shapeId = m_guiHelper->getRenderInterface()->registerShape(&vertices[0],numVertices,indices,numIndices,B3_GL_TRIANGLES,textureIndex);
|
||||
int group=1;
|
||||
int mask=1;
|
||||
int index=0;
|
||||
@@ -291,7 +291,7 @@ int GpuConvexScene::createDynamicsObjects2( const float* vertices, int numVertic
|
||||
curColor++;
|
||||
curColor&=3;
|
||||
b3Vector4 scalin=b3MakeVector4(1,1,1,1);
|
||||
int id = m_instancingRenderer->registerGraphicsInstance(shapeId,position,orn,color,scaling);
|
||||
int id = m_guiHelper->getRenderInterface()->registerGraphicsInstance(shapeId,position,orn,color,scaling);
|
||||
int pid = m_data->m_rigidBodyPipeline->registerPhysicsInstance(mass,position,orn,colIndex,index,false);
|
||||
|
||||
|
||||
@@ -344,7 +344,7 @@ void GpuConvexPlaneScene::createStaticEnvironment()
|
||||
int numVertices = sizeof(cube_vertices)/strideInBytes;
|
||||
int numIndices = sizeof(cube_indices)/sizeof(int);
|
||||
//int shapeId = ci.m_instancingRenderer->registerShape(&cube_vertices[0],numVertices,cube_indices,numIndices);
|
||||
int shapeId = m_instancingRenderer->registerShape(&cube_vertices[0],numVertices,cube_indices,numIndices);
|
||||
int shapeId = m_guiHelper->getRenderInterface()->registerShape(&cube_vertices[0],numVertices,cube_indices,numIndices);
|
||||
int group=1;
|
||||
int mask=1;
|
||||
int index=0;
|
||||
@@ -358,7 +358,7 @@ void GpuConvexPlaneScene::createStaticEnvironment()
|
||||
|
||||
b3Vector4 color=b3MakeVector4(0,0,1,1);
|
||||
|
||||
int id = m_instancingRenderer->registerGraphicsInstance(shapeId,position,orn,color,scaling);
|
||||
int id = m_guiHelper->getRenderInterface()->registerGraphicsInstance(shapeId,position,orn,color,scaling);
|
||||
int pid = m_data->m_rigidBodyPipeline->registerPhysicsInstance(0.f,position,orn,colIndex,index,false);
|
||||
|
||||
}
|
||||
|
||||
@@ -69,7 +69,13 @@ GpuRigidBodyDemo::GpuRigidBodyDemo(GUIHelperInterface* helper)
|
||||
m_instancingRenderer(0),
|
||||
m_window(0)
|
||||
{
|
||||
m_instancingRenderer = (GLInstancingRenderer*)helper->getRenderInterface();
|
||||
if (helper->getRenderInterface()->getInternalData())
|
||||
{
|
||||
m_instancingRenderer = (GLInstancingRenderer*)helper->getRenderInterface();
|
||||
} else
|
||||
{
|
||||
m_instancingRenderer = 0;
|
||||
}
|
||||
|
||||
m_window = helper->getAppInterface()->m_window;
|
||||
|
||||
@@ -108,6 +114,8 @@ void GpuRigidBodyDemo::initPhysics()
|
||||
|
||||
initCL(gPreferredOpenCLDeviceIndex,gPreferredOpenCLPlatformIndex);
|
||||
|
||||
m_guiHelper->setUpAxis(1);
|
||||
|
||||
if (m_clData->m_clContext)
|
||||
{
|
||||
int errNum=0;
|
||||
@@ -149,7 +157,7 @@ void GpuRigidBodyDemo::initPhysics()
|
||||
|
||||
|
||||
|
||||
m_instancingRenderer->writeTransforms();
|
||||
m_guiHelper->getRenderInterface()->writeTransforms();
|
||||
|
||||
|
||||
|
||||
@@ -176,13 +184,16 @@ void GpuRigidBodyDemo::exitPhysics()
|
||||
|
||||
void GpuRigidBodyDemo::renderScene()
|
||||
{
|
||||
m_instancingRenderer->renderScene();
|
||||
m_guiHelper->getRenderInterface()->renderScene();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void GpuRigidBodyDemo::stepSimulation(float deltaTime)
|
||||
{
|
||||
if (!m_instancingRenderer)
|
||||
return;
|
||||
|
||||
bool animate=true;
|
||||
int numObjects= m_data->m_rigidBodyPipeline->getNumBodies();
|
||||
//printf("numObjects=%d\n",numObjects);
|
||||
@@ -368,6 +379,9 @@ bool GpuRigidBodyDemo::keyboardCallback(int key, int state)
|
||||
|
||||
bool GpuRigidBodyDemo::mouseMoveCallback(float x,float y)
|
||||
{
|
||||
if (!m_instancingRenderer)
|
||||
return false;
|
||||
|
||||
if (m_data->m_altPressed!=0 || m_data->m_controlPressed!=0)
|
||||
return false;
|
||||
|
||||
@@ -378,7 +392,7 @@ bool GpuRigidBodyDemo::mouseMoveCallback(float x,float y)
|
||||
b3Vector3 rayFrom;
|
||||
b3Vector3 oldPivotInB = m_data->m_pickPivotInB;
|
||||
b3Vector3 newPivotB;
|
||||
m_instancingRenderer->getActiveCamera()->getCameraPosition(rayFrom);
|
||||
m_guiHelper->getRenderInterface()->getActiveCamera()->getCameraPosition(rayFrom);
|
||||
b3Vector3 dir = newRayTo-rayFrom;
|
||||
dir.normalize();
|
||||
dir *= m_data->m_pickDistance;
|
||||
@@ -393,6 +407,8 @@ bool GpuRigidBodyDemo::mouseMoveCallback(float x,float y)
|
||||
}
|
||||
bool GpuRigidBodyDemo::mouseButtonCallback(int button, int state, float x, float y)
|
||||
{
|
||||
if (!m_instancingRenderer)
|
||||
return false;
|
||||
|
||||
if (state==1)
|
||||
{
|
||||
@@ -401,7 +417,7 @@ bool GpuRigidBodyDemo::mouseButtonCallback(int button, int state, float x, float
|
||||
b3AlignedObjectArray<b3RayInfo> rays;
|
||||
b3AlignedObjectArray<b3RayHit> hitResults;
|
||||
b3Vector3 camPos;
|
||||
m_instancingRenderer->getActiveCamera()->getCameraPosition(camPos);
|
||||
m_guiHelper->getRenderInterface()->getActiveCamera()->getCameraPosition(camPos);
|
||||
|
||||
b3RayInfo ray;
|
||||
ray.m_from = camPos;
|
||||
@@ -448,19 +464,20 @@ bool GpuRigidBodyDemo::mouseButtonCallback(int button, int state, float x, float
|
||||
int strideInBytes = 9*sizeof(float);
|
||||
int numVertices = sizeof(point_sphere_vertices)/strideInBytes;
|
||||
int numIndices = sizeof(point_sphere_indices)/sizeof(int);
|
||||
m_data->m_pickGraphicsShapeIndex = m_instancingRenderer->registerShape(&point_sphere_vertices[0],numVertices,point_sphere_indices,numIndices,B3_GL_POINTS);
|
||||
m_data->m_pickGraphicsShapeIndex = m_guiHelper->getRenderInterface()->registerShape(&point_sphere_vertices[0],numVertices,point_sphere_indices,numIndices,B3_GL_POINTS);
|
||||
|
||||
float color[4] ={1,0,0,1};
|
||||
float scaling[4]={1,1,1,1};
|
||||
|
||||
m_data->m_pickGraphicsShapeInstance = m_instancingRenderer->registerGraphicsInstance(m_data->m_pickGraphicsShapeIndex,pivotInB,orn,color,scaling);
|
||||
m_instancingRenderer->writeTransforms();
|
||||
m_data->m_pickGraphicsShapeInstance = m_guiHelper->getRenderInterface()->registerGraphicsInstance(m_data->m_pickGraphicsShapeIndex,pivotInB,orn,color,scaling);
|
||||
m_guiHelper->getRenderInterface()->writeTransforms();
|
||||
delete m_data->m_instancePosOrnColor;
|
||||
m_data->m_instancePosOrnColor=0;
|
||||
} else
|
||||
{
|
||||
m_instancingRenderer->writeSingleInstanceTransformToCPU(pivotInB,orn,m_data->m_pickGraphicsShapeInstance);
|
||||
m_instancingRenderer->writeSingleInstanceTransformToGPU(pivotInB,orn,m_data->m_pickGraphicsShapeInstance);
|
||||
m_guiHelper->getRenderInterface()->writeSingleInstanceTransformToCPU(pivotInB,orn,m_data->m_pickGraphicsShapeInstance);
|
||||
if (this->m_instancingRenderer)
|
||||
m_instancingRenderer->writeSingleInstanceTransformToGPU(pivotInB,orn,m_data->m_pickGraphicsShapeInstance);
|
||||
m_data->m_np->setObjectTransformCpu(pos,orn,m_data->m_pickFixedBody);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user