avoid MT crash in VR/physics server due to printf from separate thread.
add fps display in VR use 1./240. internal substep for real-time physics sim in VR/physics server for more accurate robotics sim.
This commit is contained in:
@@ -490,7 +490,7 @@ void MyComboBoxCallback(int comboId, const char* item)
|
||||
void MyGuiPrintf(const char* msg)
|
||||
{
|
||||
printf("b3Printf: %s\n",msg);
|
||||
if (gui2)
|
||||
if (!gDisableDemoSelection)
|
||||
{
|
||||
gui2->textOutput(msg);
|
||||
gui2->forceUpdateScrollBars();
|
||||
@@ -502,7 +502,7 @@ void MyGuiPrintf(const char* msg)
|
||||
void MyStatusBarPrintf(const char* msg)
|
||||
{
|
||||
printf("b3Printf: %s\n", msg);
|
||||
if (gui2)
|
||||
if (!gDisableDemoSelection)
|
||||
{
|
||||
bool isLeft = true;
|
||||
gui2->setStatusBarMessage(msg,isLeft);
|
||||
@@ -513,7 +513,7 @@ void MyStatusBarPrintf(const char* msg)
|
||||
void MyStatusBarError(const char* msg)
|
||||
{
|
||||
printf("Warning: %s\n", msg);
|
||||
if (gui2)
|
||||
if (!gDisableDemoSelection)
|
||||
{
|
||||
bool isLeft = false;
|
||||
gui2->setStatusBarMessage(msg,isLeft);
|
||||
|
||||
@@ -2445,7 +2445,7 @@ void PhysicsServerCommandProcessor::stepSimulationRealTime(double dtInSec)
|
||||
loadUrdf("plane.urdf", btVector3(0, 0, 0), btQuaternion(0, 0, 0, 1), true, true, &bodyId, &bufferServerToClient[0], bufferServerToClient.size());
|
||||
}
|
||||
|
||||
m_data->m_dynamicsWorld->stepSimulation(dtInSec);
|
||||
m_data->m_dynamicsWorld->stepSimulation(dtInSec,10,1./240.);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -872,7 +872,22 @@ void PhysicsServerExample::renderScene()
|
||||
static int frameCount=0;
|
||||
frameCount++;
|
||||
char bla[1024];
|
||||
sprintf(bla,"VR sub-title text test, frame %d", frameCount/2);
|
||||
|
||||
static btScalar prevTime = m_clock.getTimeSeconds();
|
||||
btScalar curTime = m_clock.getTimeSeconds();
|
||||
static btScalar deltaTime = 0.f;
|
||||
static int count = 10;
|
||||
if (count-- < 0)
|
||||
{
|
||||
count = 10;
|
||||
deltaTime = curTime - prevTime;
|
||||
}
|
||||
if (deltaTime == 0)
|
||||
deltaTime = 1000;
|
||||
|
||||
prevTime = curTime;
|
||||
|
||||
sprintf(bla,"VR sub-title text test,fps = %f, frame %d", 1./deltaTime, frameCount/2);
|
||||
float pos[4];
|
||||
m_guiHelper->getAppInterface()->m_renderer->getActiveCamera()->getCameraTargetPosition(pos);
|
||||
btTransform viewTr;
|
||||
|
||||
Reference in New Issue
Block a user