本帖最后由 jasu30 于 2011-5-15 00:39 编辑
什么是NVIDIA(英伟达)PhysX技术?
NVIDIA(英伟达)PhysX是一款功能强大的物理效果引擎,它可以在最前沿的PC游戏中实现实时物理效果。PhysX软件广泛应用于150多款游戏中,使用PhysX软件的开发人员已逾10,000人。PhysX专为大规模并行处理器硬件加速而进行了优化。搭载PhysX技术的GeForce(精视)GPU(图形处理器)可实现物理效果处理能力的大幅提升,将游戏物理效果推向全新境界。
物理运算引擎的作用,简而言之,就是令虚拟世界中的物体运动符合真实世界的物理定律,以使游戏更加富有真实感。
物理模拟计算需要非常强大的整数和浮点计算能力。更为重要的是,物理处理具有高度的并行性,需要多线程计算,演算非常复杂,需要消耗很多资源。
PhysX可以由CPU计算,但其程序本身在设计上还可以调用独立的浮点处理器(例如GPU和PPU)来计算,也正因为如此,它可以轻松完成像流体力学模拟那样的大计算量的物理模拟计算。
PhysX物理引擎可以在包括Windows,Linux,Xbox360,Playstation3,Mac等在内的全平台上运行。
AGEIA公司后来被Nvidia收购,PhysX引擎也就跟随划入Nvidia旗下。
2010年5月,AGEIA公司创始人、Nvidia主管PhysX技术副总裁Manju Hegde跳槽至AMD公司。外界猜测其跳槽原因是AGEIA被Nvidia收购后,PhysX并没有得到良好的发展。
什么是游戏物理效果,它为何如此重要?
物理效果是未来游戏中最重要的一个方面。它涉及游戏中物体移动、互动以及对周围环境作出反应的方式。在当今许多游戏中如果没有物理效果,物体将无法按照玩家想象中的方式或像现实生活的方式运动。当前,大多数动作还仅限于预先定义好的、或“千篇一律”的动画,并且由游戏中的特定事件触发,例如枪炮射击在墙上等等。
即使最强大的武器也只能在最薄的墙上留下一个斑点而已,每一个被你干掉的敌人都以预先定义好的相同模式倒下。玩家看到的只是精美的游戏画面而已,但却失去了体验真正身临其境所必需的真实感。
凭借NVIDIA PhysX技术,游戏世界简直是栩栩如生:墙壁可以被拆毁,玻璃可以被打碎,树木能够在风中摇曳身姿,水流实体感与动感十足。搭载了PhysX技术的NVIDIA GeForce GPU(图形处理器)拥有在下一代游戏中实现真实、先进物理效果所必需的计算动力,让千篇一律的动画效果成为历史。
AGEIA时代的PhysX
PhysX物理运算引擎由五名年轻的技术人员开发,他们成立了AGEIA公司。PhysX最初称为NovodeX,后改名为PhysX。
AGEIA曾为《虚幻竞技场3》开发几张加入PhysX引擎的MOD地图,物理效果非常出色。同时AGEIA也自己开发一个免费的名为《好战者》的物理游戏。此后的一些PhysX游戏,也大都基于虚幻3引擎。例如《镜之边缘》、《蝙蝠侠:阿卡姆疯人院》、《一舞成名》等。可以说虚幻3引擎与PhysX物理引擎已经成了一对黄金搭档。
虚幻竞技场3 PhysX地图包AGEIA提供一流的PhysX软件开发包AGEIA PhysX SDK,它不仅可以应用于次世代PC游戏开发,还可应用在Console游戏开发中。AGEIA声称,PhysX 将会使设计师在开发游戏的过程中使用复杂的物理效果而不需要像以往那样耗费漫长的时间开发一套新的物理引擎,而且使用了物理引擎还会大量消耗CPU资源使一些配置较低的电脑无法流畅运行。AGEIA 更宣称 PhysX 执行物理运算的效率比CPU 与物理处理软件的组合高出 100 倍。游戏设计语言 Dark Basic Pro 将会支持 PhysX,并允许其用户利用 PhysX 执行物理运算。
PhysX物理加速卡(PPU)
BFG生产的PhysX物理加速卡由于PhysX物理引擎在设计上就并不适合用CPU去计算,因此AGEIA公司还为PhysX引擎设计了专门的运算硬件,PhysX物理加速卡。PhysX物理加速卡的核心被称为PPU,即物理处理器(Physics processing Unit)。
PhysX物理加速卡在运行游戏时不参与任何3D渲染,只计算PhysX引擎。按照AGEIA当初的设想,未来的个人电脑将由CPU、GPU、PPU三大核心构成。其中CPU居中调度,GPU负责图形渲染,PPU则做物理计算。 AGEIA当初设想的未来PC组成2006年,AGEIA公司发布了第一张PhysX物理加速卡,称为PhysX 100 Series。公版设计为搭载128MB GDDR3显存,采用PCI接口。生产PhysX 100 Series的包括华硕和BFG,其中华硕的PhysX物理加速卡搭载了256MB GDDR3显存。
后来,AGEIA公司又开发了第二代PhysX物理加速卡,称为PhysX 200 Series,与第一代产品最大的不同在于采用了PCI-E插槽,增强了数据交换能力。
(AGEIA当初设想的未来PC组成)
AGEIA公司被Nvidia收购后,PhysX物理加速卡停止了开发。但有评测表明,PhysX 100 Series的PhysX物理计算能力,超过了Geforce 9600GT,至少与Geforce 9800GT相当。可见PhysX物理加速卡在设计思路上是非常成功的。
基于PhysX SDK 2.8.1及其以下版本开发的游戏都支持AGEIA PhysX物理加速卡。需要说明的是,部分基于PhysX SDK 2.8.1开发的游戏是被人为屏蔽物理加速卡而造成物理加速卡无法工作的,例如《一舞成名》和《蝙蝠侠:阿卡姆疯人院》,这种情况是可以通过修改驱动破解的。但是基于PhysX SDK 2.8.3及其以上版本、基于PhysX APEX开发的游戏就无法支持AGEIA PhysX物理加速卡了。
PhysX物理加速卡与Nvidia显卡的物理加速能力对比:http://diybbs.zol.com.cn/10/198_91551.html
nVIDIA时代的PhysX
1.nVIDIA PhysX物理加速技术
2008年,在Intel收购了物理引擎界的领军者Havok后,Nvidia也收购了排名第二的AGEIA。正式将PhysX技术划入旗下。 PhysX by NvidianVIDIA PhysX承袭自AGEIA PhysX,但Nvidia在此基础上推出了nVIDIA PhysX物理加速,并将PhysX物理加速功能移植到nVIDIA GPU中,用户不必额外购买PhysX物理加速卡就能享受到PhysX物理加速功能。借助CUDA架构,nVIDIA重新编写了PhysX物理加速程序,将PhysX物理加速引擎从AGEIA PPU移植到了nVIDIA GPU上。
通过重新编写程序,nVIDIA GPU中的线程调度器将承担原来PPU中“控制引擎”的工作,即负责具体任务的指派工作;流处理器将承担原来PPU中“矢量处理引擎”的工作,即负责物理计算;在物理计算完成后,由DME来负责输出;而后,GPU再通过硬件抽象层实现布料模拟、毛发模拟、碰撞侦测、流体力学等物理技术。简而言之,就是利用CUDA,将PhysX引擎中的计算指令,翻译给GPU,让GPU去计算。这样做是因为GPU具有优秀的浮点计算能力和并行处理能力。
通过这种方法,Nvidia Geforce 8系列,9系列,GT200系列,GT300系列,GT400,GT500系列桌面显卡;Geforce 8M系列,9M系列,GT100M系列,GT200M系列,GT300M系列,GT400M,GT500M系列移动版显卡;基于同一渲染架构的nVIDIA Quardo系列专业绘图显卡;ION离子平台,只要流处理器大于32个且显存大于256MB,都可以支持PhysX物理引擎的计算,也就是支持PhysX物理加速。
所谓PhysX物理加速,是指相对于CPU来讲,GPU加快了PhysX物理引擎的计算速度。并不是说PhysX引擎只能由nVIDIA GPU处理。
Nvidia曾承诺PhysX加速技术是公开的,且支持第三方厂商让PhysX运行在竞争对手ATI的显卡上,然而当2010年ATI HD5000系列产品全线对Nvidia形成优势时,Nvidia又表示PhysX加速技术只能运行在自家的显卡上。可以说PhysX物理加速已经成为了Nvidia在显卡产品线上被竞争对手力压后,唯一可以用来反击的技术手段。
在设计上,Nvidia显卡是同时进行3D计算和物理计算,且显卡不断的在3D计算和物理计算模式间切换。目前的显卡已经被高分辨率、高全屏抗锯齿等压的喘不过气来,根本没有剩余精力再去计算PhysX指令。因此主流的单显卡运行PhysX游戏,虽然效果上更加逼真,但根本达不到流畅标准,得不偿失。除非是双卡SLI,或顶级显卡(如GTX295、GTX480等),才有足够精力去做物理计算。
Physx的未来完全掌握于NVIDIA之手。目前Physx仅仅是作为NVIDIA宣传自家显卡的卖点。应用程序常见于虚幻3引擎,由于NVIDIA公司推行的“游戏之路”计划,NVIDIA会极力撮合使用虚幻3引擎的游戏开发商支持Physx ,同时扩展其它游戏引擎。 能够使用显卡加速的Physx的优点也是最大的缺点。因为必选要有一块支持CUDA的NVIDIA显卡。面对ATI显卡的竞争,消费者对NVIDIA劣化Physx CPU处理能力,突出自家显卡的做法颇有微词。
另外Physx的竞争对手Havok再被Intel收购后也得到大力发展,应用的游戏数量远远超过Physx。Havok引擎具有嵌入性和高效性的特点,随着CPU多线程技术的发展,其仅依靠CPU就能带来良好的物理效果。此外intel宣称Havok可以免费使用后,NVIDIA也宣称Physx在一定范围内免费开放。
Physx是仅仅作为NVIDIA显卡的卖点来应付来自ATI的竞争,还是打算长久的开发下去我们拭目以待。
2.nVIDIA PhysX APEX
2010年8月24日,随着《黑手党2》的发布,一个全新的名词映入广大玩家的眼帘,那就是nVIDIA PhysX APEX。
2009年3月26日,在美国加利福尼亚州旧金山市召开的游戏开发者大会上(GDC2009),nVIDIA正式发布了nVIDIA PhysX APEX。APEX是PhysX 技术开发软件开发包(SDK)中的一个全新功能,它能够为艺术家、游戏关卡设计师以及游戏开发人员提供一套易于使用的工具。得益于此类工具,基于多种平台的下一代游戏中可扩展的物理效果都将得以更为流畅得实施。
nVIDIA APEX被设计为一个模块化的框架,能够与现有的PhysX软件开发包一起使用,使开发人员能够轻松地在其游戏中添加细腻的物理效果。而且通过简单易用的“单次制作”跨平台内容创作特性,APEX还能够帮助开发人员优化多种平台上的游戏体验。 这些特性让APEX不仅能够帮助开发人员加快设计新游戏的速度,更能帮助开发人员降低这一过程中的总体开发成本。 已获认证的PhysX开发人员可免费获得APEX工具包,该工具包现已集成到一些全球最流行的开发库以及游戏引擎中,其中包括Emergent游戏技术公司的Gamebryo LightSpeed引擎。
APEX可实现诸多特效,比如物体销毁、仿真物体断裂、树木植被碎裂等,另外APEX一家入住MAYA、3D MAX等3D设计软件之中,可以帮助设计者更加直观的展示物理特征,而不再需要第三方的插件。
第一个使用nVIDIA PhysX APEX模块的游戏是《黑暗之日》。AGEIA物理加速卡(PPU)不支持APEX模块。
游戏二次革命 讲述Physx之APEX解析 http://games.sina.com.cn/j/n/2009-08-18/1816332961.shtml
|