首页 理论教育 刚体实时动态仿真-PhysX物理引擎

刚体实时动态仿真-PhysX物理引擎

时间:2023-11-21 理论教育 版权反馈
【摘要】:PhysX物理引擎由5名年轻的技术人员开发,他们在2002年成立了Ageia公司,2005年发布了NovodeX,后改名为PhysX。2006年,Ageia公司发布了第一张PhysX PPU,称为PhysX 100 Series,设计搭载128 MB的GDDR3显卡,采用PCI接口。PhysX是一个模拟刚体动力学的物理引擎,支持速度、加速度、动量、冲量、碰撞等物理概念。NVIDIA PhysX是一种功能强大的物理加速引擎,可在顶级PC和游戏中实现实时的物理学计算。

刚体实时动态仿真-PhysX物理引擎

PhysX物理引擎由5名年轻的技术人员开发,他们在2002年成立了Ageia公司,2005年发布了NovodeX,后改名为PhysX。

2006年,Ageia公司发布了第一张PhysX PPU(物理加速卡),称为PhysX 100 Series,设计搭载128 MB的GDDR3显卡,采用PCI接口。后来,Ageia公司又开发了第二代PhysX物理加速卡,称为PhysX 200 Series,采用了PCI-E插槽,增强了数据交换能力。

2008年,Ageia公司被NVIDIA收购,借助CUDA(compute unified device architecture,统一计算架构),NVIDIA重新编写了PhysX物理加速程序,将PhysX物理引擎从PhysX PPU移植到NVIDIA GPU上,利用GPU强大的浮点计算能力和并行处理能力,加快PhysX物理引擎的计算速度。

PhysX是一个模拟刚体动力学的物理引擎,支持速度、加速度、动量、冲量、碰撞等物理概念。PhysX开发库支持跨平台、多线程高速碰撞检测等特性,专门对汽车的物理模拟进行了优化,可实现粒子系统、刚体、关节铰链模拟、通用碰撞检测等。

所有的物理模拟都在场景(scene)中进行,一个虚拟环境允许同时存在多个场景。场景中可包含角色、关节等多个对象。角色为场景中参与运算,具有形状、实体的对象。形状(collision shape)用于描述角色的外形,提供6种基本形状:盒子(box)、球体(sphere)、胶囊(capsule)、网格凸状网格(convex mesh)、三角形网格(triangle mesh)和平面(plane),用多个基本形状可以组成较复杂物体。实体(body)用于描述角色的物理参数,如密度、质量、质心、惯性张量等。二者角色可以通过关节(joint)连接,常用的关节有固定关节(fixed joint)、旋转关节(revolute joint)、球关节(spherical joint)和棱柱关节等多种形式,可以根据需要选择关节使物体的连接符合真实情景。在此场景中,还可创建流体、布料、粒子等其他可描述物理世界的对象。(www.xing528.com)

PhysX引擎提供了上述多种关节来实现多个角色的连接,其中,固定关节可以模拟铆接、焊接、螺钉连接方式;旋转关节模拟铰接连接方式,可以使两个角色围绕一条轴线发生转动,如合页、门柱;球关节模拟肩关节、球铰等连接方式,可使两个角色围绕一个点发生自由转动;棱柱关节模拟滑动连接方式,可以使两个角色沿一条轴线运动,如吸尘器;此外,还有圆柱关节、滑轮关节、点线关节、点面关节、六自由度关节等多种连接形式,开发人员可根据需要,将单个角色利用关节进行组合,实现任务、机器、汽车等复杂物体的模型创建。

物理运算效果是一种对计算性能要求极高的环境,以一整套独特的物理学算法为基础,需要大量同步运算的能力。NVIDIA PhysX是一种功能强大的物理加速引擎,可在顶级PC和游戏中实现实时的物理学计算。PhysX设计用途是利用具备数百个内核的强大处理器来进行硬件加速,加上GPU超强的并行处理能力,PhysX将使物理加速处理能力呈指数倍增长,并将用户的游戏体验提升至一个全新的水平,在游戏中呈现丰富多彩、身临其境的物理学游戏环境。

NVIDIA将PhysX引擎集成到统一计算设备架构的物理运算中,这样就可以使GeForce 8/9及GT200系列全部都支持PhysX引擎,所有已使用PhysX技术的游戏都支持新版驱动程序。如果装有支持CUDA平台的显卡,游戏将自动选取显卡进行物理加速运算,也仍会使用性能较慢的CPU进行运算。此外,PhysX并不只使用于游戏市场,同时亦会用于CUDA通用运算领域上。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈