前不久,曾有一些新闻透露NVIDIA在8月底或9月底发布的新驱动将有重大提升,最终那些内容被猜测的说法众多,但其中一点与NVIDIA在7月初的承诺相符,这便是让更多的NVIDIA显卡通过CUDA,支持PhysX加速,这款驱动便是Forceware 177.79。

NVIDIA曾规定,在北京时间2008年8月6日21时后,可以公布显卡PhysX加速的细节,但直到这一期限的几个小时后NVIDIA仍没有官方对此次驱动对PhysX支持情况有详细说明。我们知道,在177.39上,NVIDIA官方已经支持GF9800GTX、GTX280/260以及GF8800GT(需要手动修改inf文件)等4款显卡的PhysX加速。而177.79驱动的推出是让所有可支持CUDA的GPU都可以支持PhysX加速(驱动发布前大家普遍这么理解)。但在官方177.79白皮书上,我们找不到关于PhysX的任何字样。
但与我们实际策划的测试没有太大偏差,除了GF8400GS没有支持PhysX外,我们本次测试顺利进行。而PhysX在主流显卡上加速的实现,意味着用户更容易低成本体验画面逼真的真实物理效果。而与之前在高端显卡上测试不同的是,大家都在怀疑,与GTX280 240个流处理器相比,9600GT这样64个流处理器的显卡对PhysX加速效果会怎样呢?
对于普通PC用户和游戏玩家来说,开始熟悉“物理引擎”可能真的要感谢Ageia,因为在Ageia推出PhysX硬件加速卡的那几个月里,关于“物理引擎”在3D游戏中应用的信息空前丰富。而在2008年初,NVIDIA收购PhysX的几个月后,大多数GeForce目前主流产品都可以实现PhysX的物理效果了。
也许在这里,我们还应该对物理引擎进行一下说明。其实,我们应该将“物理引擎”分开来看,其一,是说3D应用如游戏中加入真实的物理效果;其二,是说这样的物理效果基于怎样的软件引擎。所谓物理效果,在3D游戏诞生之初其实便存在,毫无疑问游戏是运动的,运动就是物理行为。但早期的物理行为是通过“物理脚本”编写实现的,例如你可以编写几百个火焰燃烧的脚本,也可以编写几十个一个乒乓球跳动情况的脚本,也许这些脚本做的可以很精致,足以乱真。但由于是脚本化的东西,这样的物理效果范围很小(比如,只有一个球或少数几个球的物理运动,小范围的火焰,爆炸),物理效果之间没有关联。

现在的物理效果
真实的布料物理引擎
而今天我们谈到的物理引擎,是指基于实时运算,符合力学定律的开发系统和该系统下的真实效果。例如,流体的运动、布料的运动、软体刚体的碰撞等等。由于完全采用真实物理系统制作,在一定范围内(毕竟我们还不可能完全模拟空气等流体?)物体运动更加真实,比如表现突出的液体流动,人的衣服摆动,头发与身体碰撞等等。由此一来,如果处理器的运算速度足够快,那么我们将可以模拟一个真实的世界。

物理引擎的提出
PhysX下常见物理引擎分类
物理引擎其实并不等于真实的物理效果,只是大家习惯这么默认“物理引擎”就是真实力学条件下的物理效果。所谓引擎,和游戏3D引擎一样。例如id Software的DOOM3引擎,Unreal2/3引擎等等,它给开发者提供了近乎完整的物理特效平台(例如,需要通过PhysX在游戏中加入烟雾效果,语句只需3-5行程序),允许你修改基于这些特效的参数来完善它们。

CUDA让GPU实现Physx
具体到PhysX在目前游戏中的应用,我们看到粒子、流体、软体、关节和布料几个部分。粒子特效具体到我们看到游戏中项目包括,爆炸、灰尘、落叶等;流体,包括液体和空气等;软体,如橡胶等复合材料;关节,人物运动等对其他的碰撞影响;布料,人类衣服,旗帜等等。而这几大类物理效果其实互相相关,例如软体和刚体流体的碰撞,流体对粒子的影响,布料的破损以及流体对布料的影响、关节运动对布料的影响等等。
我们在这里对“物理引擎”的真实物理效果进行一个小节。在以往我们在游戏中看到的3D运动,是我们为这些物理运动设计好了脚本(最真实的就是动作捕捉脚本),当遇到和我们预设一样环节时来启动它。真实物理引擎完全打破以往方法,要求3D事件中的元素都遵循物理参数运行(当然,你可以让它们处于任何失重或超重的环境下)。从实际效果看,物理脚本虽然不是真实运算,但如果肯下功夫,一样可以做得很真实,但其场景不可能太大和复杂;真实物理引擎,从原理来说如果运算能力足够,它就可以实现和真实世界一样的运动状态。初步来说,可以实现大规模的物理效果(例如沙尘暴?冰雹?烟雾等等)。
对于未来真实3D世界的渲染和模拟,真实物理引擎是最重要的因素之一(另一个因素应该就是光线追踪实现的3D世界)。原先Ageia通过单独子卡实现PhysX物理效果的方法显然远不如通过NVIDIA GPU来完成这样的计算。NVIDIA首次推出PhysX加速驱动是在收购Ageia后的3个月,这也向大家表明CUDA开发是多么的高效。
[1] [2] [3] [4] [5] [6] [7] 下一页