事實上在PhysX設計之初,它是只支持CPU和PPU物理加速的,不過在被收購之后,NVIDIA通過CUDA架構將其重新編譯,并打包進NVIDIA的驅動程序中進行發(fā)布。盡管NVIDIA表示今后將大力發(fā)展GPU物理加速,但這并不表示PhysX引擎排斥CPU或者CPU+GPU的綜合解決方案。
通過CUDA通用接口,PhysX引擎將NVIDIA GPU中的Thread Scheduler(線程管理器)模擬成Control Engine(控制引擎CE),而Streaming Processors來模擬Vector Processing Engine(矢量處理引擎,VPE),其中CE控制引擎負責任務的指派,相當于PhysX中的主管機構,而真正的物理運算任務則是由VPE矢量引擎來完成,最后通過Data Movement Engine(數(shù)據(jù)移動引擎DME)輸出。通過HAL翻譯層來實現(xiàn)軟、固質體動力(Soft or Rigid Body Dynamics)、通用碰撞偵測(Universal Collision Detection)、有限元素分析(Finite Element Analysis)、流體動力(Fluid Dynamics)、毛發(fā)模擬(Hair Simulation)以及更先進的布料模擬(Cloth Simulation)、自然模擬(Natural Motion)等在內新穎技術。
多線程PhysX引擎專為大型并行環(huán)境中的硬件加速而設計。AGEIA的PhysX處理器只有10個內核,而現(xiàn)在NVIDIA的GPU則具有多達216-240個內核。因此,NVIDIA的這些GPU非常適合利用PhysX軟件。最重要的是,由于游戲物理學具有高度并行和互動的特性,因此GPU架構自然比CPU更加適合這種計算工作。借助于當今或下一代GPU(圖像處理器),PhysX將為游戲玩家創(chuàng)造更多價值。
同時,NVIDIA為游戲開發(fā)人員提供了的PhysX SDK(軟件開發(fā)工具包),使這些游戲開發(fā)人員能夠開發(fā)出具備下一代物理學特色及硬件加速性能的游戲 ......詳細>> |