CUDA能够胜任任何复杂运算
在今天的话题开始之前,我们先见识一下物理游戏面临的处理任务是如何的复杂:这款叫Supersonic Sled的游戏,原型是上世纪五十年代美国空军所作的人体重力承载试验,目的是探究人体究竟能承受多快的加速度。在一辆轨道车上安装了火箭推进器,由人控制它沿平原向前飞驰,直到坠落峡谷....。
这个Demo中应用了多项NVIDIA看家技能,如PhysX、Tessellation甚至加入了环境光线追踪,可以说集目前Fermi架构优势于大成者的演示软件。与大多数枯燥的演示Demo不同Supersonic Sled还具有游戏互动性,玩家可以尝试以控制火箭车以最快的速度达到终点后成功制动,没有坠落山谷,程序会自动记录玩家到达重点所花的时间并作出排名。
Supersonic Sled有通俗易懂的中文控制界面,极易上手,除了演示NVIDIA各项技术特性之外,它的确是一款不错的休闲游戏。
火箭车在飞驰,速度不断增加,所到之处的气流和动能会造成建筑和场景的损坏,十分逼真。
随着速度的加快,火箭车驾驶员会露出恐惧的神情,脸上的五官也会因为强烈的气流而被吹变形。
沿途小木屋被火箭车经过带来的强大气流摧毁
连石拱山也会因火箭车的震动而崩塌,若没有及时穿越,就只能一飞上天了。
火箭车经过大桥时将其震碎是整个Demo中最为震撼的场景是,接下来让我们查看这些效果是如何实现的:
打开重力加速度显示,可以看到火箭车的并非是一个整体,它的几乎每一部分都有独立的物理计算系统,承受独立的重力加速度,单独受其影响。当火箭车向前行进时,显然这些独立物理模块的重力都是指向前方的,只要任何一个模块承受的重力超过了它的自身的设定值,就会受重力影响而改变形态或位置。所以在加速过程中,火箭车上时常会有一些小零件掉落,如果加速过于剧烈,则可能整个解体。
当路边木屋被吹散时,可以看到数不清的灰尘及碎片都有其独立的建模。
大桥框架的每一段钢筋都有独立的物理系统,与之前的道理相同,每一个系统都会因各自受到的力而发生改变。
当大桥崩塌时可以看到所有具备独立物理系统的钢筋碎片都会根据重力加速度的事实逻辑运动,图中的细小箭头就代表这些碎片所受到的力的方向,它们因各自所处的位置和受力的不同而指向四面八方。
无果没有支持PhysX的CUDA矩阵,很难想象如此惊人的物理计算谁能胜任。
网友评论