Physics Engine I
1. AMD 与Pixelux 合作,更进一步执行开放物理计划
(1) Pixelux
这家2004年成立于瑞士的小公司并不知名。他们开发的“Digital Molecular Matter”(DMM,数字分子物质)就是一款物理引擎中间件,曾应用在乔治卢卡斯的电影特效制作当中,比如星球大战系列。去年,卢卡斯公司的《星球大战:原力释放》是首款使用DMM引擎的游戏作品,近期Pixelux还推出了Maya软件的DMM引擎插件。在同AMD展开合作后,该公司将把DMM引擎引入OpenCL,使用CPU+GPU发展物理加速。
(2) Bullet
这是一款跨平台的开源物理引擎。根据游戏开发者杂志的统计,目前全球游戏开发者当中,使用NVIDIA PhysX引擎的占到26.8%,Intel Havok引擎占22.7%,而第三名就是占10.3%的Bullet。AMD目前正在联合一众开发人员,将Bullet开源物理引擎库“翻译”为OpenCL格式。
(3) OpenCL(Open Computing Language,开放计算语言)
是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。OpenCL由一门用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。OpenCL类似于另外两个开放的工业标准OpenGL和OpenAL,这两个标准分别用于三维图形和计算机音频方面。OpenCL扩展了GPU用于图形生成之外的能力。OpenCL由非盈利性技术组织Khronos Group掌管。
AMD的“开放物理”计划以OpenCL为核心,在其基础上引申出Pixelux、Bullet和Havok(基于OpenCL的GPU加速布料模拟),扩展OpenCL和DirectCompute技术。根据目前的这些计划,该方案应当不仅限于AMD平台,而是在OpenCL的框架内,支持各厂商的硬件进行物理加速,这应该就是其“开放物理”的定义。另外,AMD的计划也是“目前唯一提交到Khronos Group的GPU + CPU通用加速物理解决方案”。