本文整理汇总了C++中Physics::simulate方法的典型用法代码示例。如果您正苦于以下问题:C++ Physics::simulate方法的具体用法?C++ Physics::simulate怎么用?C++ Physics::simulate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Physics
的用法示例。
在下文中一共展示了Physics::simulate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update
void update()
{
//total time
float dt = getDT();// if you have anything moving, use dt.
//update board
boardMesh.model=glm::rotate(glm::mat4(1.0f),float(DELTA_X_CHANGE*180/3.1415), glm::vec3(0,0,1));
boardMesh.model=glm::rotate(boardMesh.model,float(DELTA_Y_CHANGE*180/3.1415), glm::vec3(1,0,0));
//update sphere
//check for collisions
if(sphereMesh.holeTopFlag)
{
sphereMesh.checkBound(mazeHoles); //holes
}
else //if the ball is on a hole
ballSetStart();
if(paused == false)
{
//update sphere based on collisions
sphereMesh.updateBounds(dt); //update forces
myPhysics.simulate(sphereMesh);
btTransform trans;
myPhysics.simulationBall->getMotionState()->getWorldTransform(trans);
//update the x,y, and z
sphereMesh.offset.x = trans.getOrigin().getX();
sphereMesh.offset.y = trans.getOrigin().getY();
sphereMesh.offset.z = trans.getOrigin().getZ();
sphereMesh.model=glm::translate(glm::mat4(1.0f), glm::vec3(sphereMesh.offset.x, sphereMesh.offset.y, sphereMesh.offset.z));
sphereMesh.model=glm::rotate(sphereMesh.model,float(DELTA_X_CHANGE*180*dt/3.1415), glm::vec3(0,0,1));
sphereMesh.model=glm::rotate(sphereMesh.model,float(DELTA_Y_CHANGE*180*dt/3.1415), glm::vec3(1,0,0));
}
glutPostRedisplay();//call the display callback
}