本文整理汇总了C++中CrtRender::UsingPhysics方法的典型用法代码示例。如果您正苦于以下问题:C++ CrtRender::UsingPhysics方法的具体用法?C++ CrtRender::UsingPhysics怎么用?C++ CrtRender::UsingPhysics使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CrtRender
的用法示例。
在下文中一共展示了CrtRender::UsingPhysics方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SixAxis
void COLLADA_Viewer::SixAxis(float flX, float flY, float flZ, float flG)
{
(void) flG;
if (_CrtRender.UsingPhysics())
{
static float dampedX = 0.0f;
static float dampedY = 0.0f;
static float dampedZ = 0.0f;
dampedX=(flX + 10.f*dampedX)/11.f;
dampedY=(flY + 10.f*dampedY)/11.f;
dampedZ=(flZ + 10.f*dampedZ)/11.f;
btTransform floorTrans;
floorTrans.setIdentity();
btVector3 xAxis(1,0,0);
btVector3 zAxis(0,0,1);
btQuaternion rotX(zAxis,dampedX*10.f);
btQuaternion rotZ(xAxis,-dampedZ*10.f);
btQuaternion combinedRot = rotZ*rotX;
btMatrix3x3 orn;
orn.setRotation(combinedRot);
btVector3 up = orn.getColumn(1);
CrtVec3f newG = CrtVec3f(up.getX(),up.getY(),up.getZ());
_CrtRender.SetGravity(newG);
// printf("new gravity (%f, %f, %f)\n", newG.getX(), newG.getY(), newG.getZ());
}
}