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