由于还没有学习游戏引擎的相关知识,所以不太清楚物理引擎和图形引擎互相之间是怎么联系起来的。所以根据在网上找到的资料,简单讲一下这两个引擎的实现方式和互相的配合。
配合:
物理引擎和图形引擎的配合可以简单描述为:输入场景信息(包括物体的形状、物理参数和位置等),通过物理引擎计算出场景中所有物体的新的形状和位置,再由图形引擎将它们渲染后显示在计算机上。以physX物理引擎和OGRE图形引擎作为例子:
一、OGRE初始化: 创建显示对象、地形、灯光等,完成其他准备。
二、PhysXc初始化:准备相关物理环境,根据OGRE中的几何体,创建用于物理计算的静态和动态角色。并互相关联。
三、创建帧监听器,进行帧循环更新图形显示。
四、调用PhysX引擎中的运算函数,对场景中物体与物体之间的相互作用进行模拟运算。
以上步骤第三、四步由于PhysX引擎的模拟计算线程是独立的,与OGRE帧循环线程分开,因此物理引擎的计算过程与图形引擎的显示渲染过程同时进行。根据物理引擎计算的结果,更新场景内物体的位置、方向、速度等参数,将更新后的参数传递给OGRE更新图形显示,循环进行下一步模拟计算。